han*_*nap 14 python pip fatal-error
我发现许多人在使用pip安装python包时遇到麻烦,因为没有安装python-dev.主要是错误:
fatal error: Python.h: No such file or directory
Run Code Online (Sandbox Code Playgroud)
所以问题是:python-dev应该是pip的必需依赖吗?或者这只是某个使用pip安装的软件包的问题,如果是这样,是否有一些步骤可以确保用户在安装模块时不会遇到错误?
aba*_*ert 18
我不认为这实际上属于StackOverflow,但万一我错了......
首先,python-dev不是Python的东西,它是Ubuntu或Fedora或其他一些发行版的东西.如果您下载,构建和安装Python,或从python.org运行任何二进制安装程序,您将Python.h安装在适当的位置.许多Linux发行版喜欢将软件包拆分成子包,移动你只需要构建一个-dev或类似软件包的东西,这对Python来说完全没有错,但它仍然是发行版正在做的事情.
其次,Python.h不需要构建所有包,只包含那些包含C扩展模块的包.由于许多软件包都是纯Python并且没有这样的扩展模块,因此发行版的pip软件包不需要其python-dev软件包是有道理的.(就像发行版的pip软件包可能不需要C编译器一样.)
第三,大多数给你一个python-pip或类似包的发行版也给你流行包的包.如果你以这种方式安装它们,要么你不需要python-dev(和一个C编译器),因为它们是二进制包,或者你需要它们但是它们将被作为依赖项(rpm,deb等等)引入有办法指定单独的"构建"和"运行"依赖项.
但是如果你回到你的包管理器后面并尝试安装包pip(这是一个合理的事情),包管理器不能告诉你哪些包需要什么依赖,而pip只能告诉你Python包的依赖性,所以没有什么可以强制执行的.
| 归档时间: |
|
| 查看次数: |
17267 次 |
| 最近记录: |