在 Python 中,`pip -r requirements.txt` 不*递归*安装包?
In Python, `pip -r requirements.txt` doesn't install packages *recursively*?
我正在使用 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)
在我的 requirements.txt 中,我写:
pysam>=0.9.0
然后我使用 pip3
安装这个 requirements.txt 文件,如下所示:
pip3 install -U -r requirements.txt
这个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
没有安装 递归 吗?
pysam setup.py
脚本似乎使用 requires
而不是典型的 install_requires
;后者生成 pip 确定其要求所需的元数据。事实上,pysam 似乎需要 cython 来构建自己,所以更恰当地说,它应该使用 setup_requires
。如果您没有安装 cython,您可以检查安装 pysam 是否以正常方式失败。
(编辑:不起作用)
在任何情况下,您都可以通过在需求文件中将 cython 放在 pysam 之前来解决这个问题;这样,pip 将在 cython 移动到 pysam 之前尝试安装它:
cython>=0.22
pysam>=0.9.0
编辑:声明一下,这与pip -r requirements.txt
本身无关。这是 pip 没有从 pysam 接收到足够的元数据,无法知道它需要先安装 cython,然后再尝试安装 pysam。
第二次编辑:你是对的。安装仍然失败,因为 pip 在进入构建阶段之前尝试从 pysam 安装脚本获取元数据,如果未安装 cython,pysam 安装脚本会抛出该错误。在这种特定情况下,除了事先在单独的命令中安装 Cython 之外,我不确定是否有其他解决方案。
我正在使用 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)
在我的 requirements.txt 中,我写:
pysam>=0.9.0
然后我使用 pip3
安装这个 requirements.txt 文件,如下所示:
pip3 install -U -r requirements.txt
这个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
没有安装 递归 吗?
pysam setup.py
脚本似乎使用 requires
而不是典型的 install_requires
;后者生成 pip 确定其要求所需的元数据。事实上,pysam 似乎需要 cython 来构建自己,所以更恰当地说,它应该使用 setup_requires
。如果您没有安装 cython,您可以检查安装 pysam 是否以正常方式失败。
(编辑:不起作用) 在任何情况下,您都可以通过在需求文件中将 cython 放在 pysam 之前来解决这个问题;这样,pip 将在 cython 移动到 pysam 之前尝试安装它:
cython>=0.22
pysam>=0.9.0
编辑:声明一下,这与pip -r requirements.txt
本身无关。这是 pip 没有从 pysam 接收到足够的元数据,无法知道它需要先安装 cython,然后再尝试安装 pysam。
第二次编辑:你是对的。安装仍然失败,因为 pip 在进入构建阶段之前尝试从 pysam 安装脚本获取元数据,如果未安装 cython,pysam 安装脚本会抛出该错误。在这种特定情况下,除了事先在单独的命令中安装 Cython 之外,我不确定是否有其他解决方案。