【发布时间】:2019-04-18 18:58:51
【问题描述】:
我正在尝试使用 setup.py 和 requirements.txt 安装 python 模块。我正在使用pip install -U . 在我有setup.py 文件的目录中安装模块。
我的setup.py 文件通过将需求存储在字符串列表中来解析requirements.txt 文件:
def get_requirements():
root_path = os.path.abspath(os.path.dirname(__file__))
requirements_file_path = os.path.join(root_path, 'requirements.txt')
# example: `numpy >= 1.13`
with open(requirements_file_path) as file:
requirements = [requirement.strip() for requirement in file.readlines()]
requirements = filter(lambda requirement: len(requirement), requirements)
requirements = filter(lambda requirement: not requirement.startswith('-'), requirements)
requirements = list(requirements)
return requirements
requirements = get_requirements()
config = {'name': name,
'install_requires': requirements
}
setuptools.setup(**config)
我的需求文件如下所示:
numpy >= 1.13
pyyaml >= 3.12
matplotlib
opencv-python >= 3.2
setuptools
cython
mock
scipy
six
future
protobuf
yacs
ninja
colour
torchvision_nightly
torch_nightly --install-option="--find-links https://download.pytorch.org/whl/nightly/cu92/torch_nightly.html"
但是,当我尝试使用 pip install -U . 安装模块时,出现以下解析错误:
Processing /home/my-module
Complete output from command python setup.py egg_info:
error in my_module setup command: 'install_requires' must be a string or list of strings containing valid project/version requirement specifiers; Invalid requirement, parse error at "'--instal'"
----------------------------------------
命令“python setup.py egg_info”失败,在/tmp/pip-req-build-rf9439sf/中出现错误代码1
知道为什么传递--install-option 会导致解析错误吗?
【问题讨论】:
标签: python pip setuptools setup.py