Han*_*Sun 5 python pip cython python-3.x
我正在使用 Python 3.5.1 和 pip 7.1.2:
pip3 --version
pip 7.1.2 from /Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages (python 3.5)
Run Code Online (Sandbox Code Playgroud)
在我的 requirements.txt 中,我写道:
pysam>=0.9.0
Run Code Online (Sandbox Code Playgroud)
然后我pip3用来安装这个requirements.txt文件,如下所示:
pip3 install -U -r requirements.txt
Run Code Online (Sandbox Code Playgroud)
这pysam有它自己的依赖项:cython,可以在以下位置看到:https://github.com/pysam-developers/pysam/blob/master/requirements.txt
但是,使用pip3 install -U -r requirements.txt似乎不是pysam递归安装的依赖项,它会抛出一个期望ValueError: no cython installed。
有没有人知道为什么requirements.txt不递归安装?
pysamsetup.py脚本似乎使用requires而不是典型的install_requires; 后者生成 pip 确定其需求所需的元数据。事实上,pysam 似乎需要 cython 才能构建自身,所以更合适的是,它应该使用setup_requires. 如果没有安装 cython,您可以检查安装 pysam 是否以正常方式失败。
(编辑:不起作用) 无论如何,您可以通过在需求文件中将 cython 放在 pysam 之前来解决这个问题;这样,pip 将在 cython 移动到 pysam 之前尝试安装它:
cython>=0.22
pysam>=0.9.0
Run Code Online (Sandbox Code Playgroud)
编辑:要明确的是,这与其本身无关pip -r requirements.txt。这是因为 pip 没有从 pysam 接收到足够的元数据,无法知道它需要先安装 cython,然后再尝试安装 pysam。
第二次编辑:你是对的。安装仍然失败,因为 pip 在进入构建阶段之前尝试从 pysam 设置脚本获取元数据,并且如果未安装 cython,pysam 设置脚本会引发该错误。在这种特定情况下,我不确定除了事先在单独的命令中安装 Cython 之外是否还有其他解决方案。
| 归档时间: |
|
| 查看次数: |
5154 次 |
| 最近记录: |