我正在构建一个virtualenv(系统详细信息如下),numpy、scipy和pandas似乎没有被正确地视为依赖关系。在
澄清一下,不管numpy是否出现在要求.txt,即使它们按正确的顺序排列。在
这很不方便,而且与包管理器的工作方式正好相反,我认为:)
那么什么给予?当我从头开始构建virtualenv时,输出如下:
[bdundee@etl-dev Py26]$ ls
requirements.txt requirements.txt~
[bdundee@etl-dev Py26]$ virtualenv ./env/sqrt_python26 --no-site-packages
New python executable in ./env/sqrt_python26/bin/python
Installing setuptools, pip...done.
[bdundee@etl-devPy26]$ source ./env/sqrt_python26/bin/activate
(sqrt_python26)[bdundee@etl-devPy26]$ pip install -r ./requirements.txt
Downloading/unpacking Bottleneck==0.8.0 (from -r ./requirements.txt (line 6))
...
import numpy as np
ImportError: No module named numpy
显然numpy应该被视为瓶颈的依赖项,而不是。在
瓶颈不是这个问题的唯一模块,还有其他一些模块。这迫使我创造了_皮普·什公司名称:
^{pr2}$我也遇到了scipy和pandas(例如statsmodels)的错误。在
问题:
系统详细信息:
pip的工作原理如下(请随时纠正我)。在
python setup.py build
python setup.py install
问题是某些模块中的
setup.py
文件要求在构建或安装步骤中存在相关模块,如果numpy/scipy/等在requirements.txt
中,这是不可能的。在matplotlib存在一个similar issue,pip社区的情绪是“这不是pip”。很公平。在
在我看来,最好的解决方法就是编写一个包装器。如果其他人知道更好的方法,请告诉我:)
这似乎是一些不同的包使用的问题要求.txt. 你可以用一个脚本来解析每一行并运行install,我相信有更优雅的方法来完成它,但至少它会按顺序安装,这样你就不会得到错误
相关问题 更多 >
编程相关推荐