【发布时间】:2019-12-10 18:21:55
【问题描述】:
在一个 Python 项目中,我在我的setup.py 中使用install_requires,如下所示。
install_requires=['numpy', 'scipy', 'matplotlib']
然后我按如下方式创建源代码、二进制文件和轮子。
python setup.py sdist bdist bdist_wheel
当我发布时,我使用twine。
twine upload --repository dist/testpypi mypackage-0.1.1-py2-none-any.whl
在 Python 2.7 conda 环境中,然后我尝试测试安装。
pip install -i https://test.pypi.org/simple/ mypackage==0.1.1
但是,我收到以下错误消息:
错误:找不到满足 matplotlib 要求的版本(来自 mypackage)(来自版本:无) 错误:没有为 matplotlib 找到匹配的分布(来自 mypackage)当我执行pip list 和conda list 时,确实没有列出matplotlib 包。
我做错了什么?我认为(这一点是我的理解崩溃的地方)install_requires 会列出先决条件,pip install 会接受并自动安装要求?然而,install_requires 似乎是在防止安装一个包,如果它声明的依赖项尚未安装。
在一些互联网搜索中,他们似乎建议我通过MANIFEST.in(例如include requirements.txt)包含requirements.txt,然后pip install 将自动安装依赖项。但是,在尝试了这种方法之后,我仍然收到相同的错误消息。我尝试使用requirements.txt 如下。
matplotlib
还有如下。
matplotlib>=2.2.3
我如何配置/设置setup.py 和我的分发,以便pip install 或conda install 将通过install_requires 自动安装声明的依赖项?
【问题讨论】:
-
您介意让我们试试吗?通过给出包的名称?
标签: python matplotlib pip pypi