python包管理工具ports_C 语言中有没有类似 Python 中 pip 的包管理工具?

@涛吴 的回答很棒,但可能过于专业,而且我也想提一些不一样的观点。尝试尽量用通俗的语言讲下。限于个人水平及易懂起见,遣词用句可能不太严谨,见谅。

要回答这个问题,不妨回顾一下“包管理器”的工作场景。

你执行pip install,python(平台)就会把你所请求的包下载安装到 python(平台)的相应位置即包管理目录内,那么下次你使用 python(语言)写程序并尝试 import的时候,python(平台)就可以到包管理目录中找到你刚下载好的模块,得以让你顺利 import,你的程序得以顺利执行,不至于 not found。

注意这里 python 这个词,可以同时指代 python 这个软件平台以及在该平台上解释执行的编程语言。类似的,pip 之于 python 就如同 npm 之于 node(平台叫 node ,编程语言是 javascript,包管理器叫 npm),composer 之于 php(平台和语言都叫 php)一样。这些软件平台在使用之前都要经过安装的过程(我们平常说的搭建环境即包含了安装过程)。包管理器则作为软件平台的一个模块被同时部署在了机器上。

再进一步,nuget 是 .net 平台的包管理器,而 .net 的语言可不止 c# 一种。因此我们说 .net 拥有包管理器而 c# 没有,否则就犯了概念性的错误。

c 的情形和 c#/javascript 有几分相似:当我们说“c 语言”这个词的时候,它很明确就是指代一门编程语言而非一个平台。因此说“c 语言中没有类似 Python 中 pip 的包管理工具”是没有毛病的。但非绝对:广义上讲,如果我们非要给 c 找一个“平台”的话,那大概就是 unix-like 系统本身了。

unix 系统本身可以非严格都看作一个巨大的 c shell,而 unix 本身的包管理器就是“c 语言的包管理器”。当你 yum install 某 devel 包的时候,头文件会被加入 include 目录供你 #include,静态库会被加入 libs 目录供你在连接的时候引入,也许还有可执行程序被加入 bin。现在你可以在你的 c 程序里面引用你刚刚安装的包了,这难道不正是包管理所干的事情吗?

总结一下这个问题。C 语言中究竟有没有类似 Python 中 pip 的包管理工具?非要说的话还真有,但可能其存在形式/工作方式和你平常想象中不同而已。之前写过一个论证 C/C++ 和其他编程语言地位差别的回答,你可以拓展参考下。现在的编程语言越来越多,为什么 C 和 C++ 还没有被现在的时代淘汰呢?​www.zhihu.comzhihu-card-default.svg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python,当你尝试访问一个对象的属性时,如果这个对象是NoneType类型的,就会抛出AttributeError异常,报错信息为"'NoneType' object has no attribute 'Ports'"。 通常,这个错误的原因是你在使用一个没有正确初始化或没有返回值的对象。在这个特定的例子,可能是由于没有正确设置或传递参数导致扫描端口时出现的错误。 为了解决这个问题,你可以检查代码相关部分,确保对象被正确初始化并且返回了有效值。检查你的代码是否正确设置了主机名和端口参数,并且确保传递的参数格式正确,如使用逗号分隔多个端口或选择连续的端口范围。 此外,你还可以检查你是否正确安装了必要的依赖项和模块。在这个特定的例子,你可能需要安装nmappython-nmap模块。你可以使用命令yum -y install nmap安装nmap,并使用pip install python-nmap安装python-nmap模块。 最后,你还可以查看相关的文档和资源,例如官方文档和漏洞网址,以获取更多关于解决这个问题的信息和指南。 总结起来,解决Python的AttributeError: 'NoneType' object has no attribute 'Ports'错误的步骤括检查代码的对象初始化和返回值,确保传递的参数正确,安装必要的依赖项和模块,以及参考相关的文档和资源获取更多帮助。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值