python - pip 无法安装 install_requires 中列出的软件包
问题描述
我创建了一个 Python 包,将其上传到 TestPyPI,并尝试将其安装到新的虚拟环境中。pip 无法安装所需的软件包,但如果我尝试使用 安装相同的软件包pip install -r requirements.txt
,它可以工作。
我按照Packaging Python Projectssetup.py
中列出的指南创建了我的文件。我将我的包上传到 TestPyPI 并尝试将它安装到一个全新的虚拟环境中。Python 3.6.4
pip 19.1.1
这是我的安装说明:pip install -i https://test.pypi.org/simple/ my-package-name==0.0.1
这是我的setuptools.setup
电话(仅相关内容):
packages=setuptools.find_packages(),
classifiers=[
"Programming Language :: Python :: 3.4",
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
'License :: OSI Approved :: MIT License',
'Operating System :: OS Independent',
],
install_requires=[
"requests",
"jsonpickle",
"pandas",
"matplotlib",
"seaborn",
"Pillow"
]
它首先成功安装 matplotlib,但后来我收到以下错误:
ERROR: Could not find a version that satisfies the requirement jsonpickle (from my-package-name==0.0.1) (from versions: none)
ERROR: No matching distribution found for jsonpickle (from my-package-name==0.0.1)
我也尝试过指定包版本,但是我无法安装任何包。
正如我所说,我可以通过使用pip install -r requirements.txt
命令来安装软件包。
解决方案
这是 TestPyPI 的一个不幸(并且已知)的缺点:问题是jsonpickle
TestPyPI 上不存在该问题,并且通过从那里安装您的包,您会告诉您在那里pip
寻找依赖项。
相反,您应该改为发布到 PyPI,并使用预发布版本,以免污染您的版本。您可以稍后从项目中删除这些预发布版本。
推荐阅读
- java - Java 错误:IntelliJ IDEA 不支持发布版本 14
- html - flex 的第二行如何占用上面的空间
- javascript - iPad 上的简单 HTML5 视频播放列表
- css - 如何在 Superset 的仪表板中覆盖字体大小
- java - Apache POI SXSSFWorkbook 在 XLSX 文件内存问题中写入大约 500.000
- mvvm - 正确应用了 SwiftUI MVVM 模式?
- c# - 我们如何将命名空间写为动态命名空间
- python - 我可以通过应用 tanh(x) 来处理数据中的异常值吗?
- java - 为什么计数器在firebase中只增加到1?
- javascript - JavaScript DOM 表操作