Val*_*Val 6 python pip setup.py python-packaging
TL;DR即使我已经使用install_requiresin指定了依赖项setup.py,但安装还是pip失败,因为找不到某些依赖项。
我开发了一个软件包,打算通过PyPi. 我创建了一个内置的分发轮并将其上传到,testPyPI以查看上传是否一切正常以及是否可以从用户角度安装该包。
但是,当我尝试pip在普通 python 2.7 环境中安装该包时,安装过程在安装依赖项时失败。
我的包依赖于这些包(我setup.py相应地将其添加到文件中):
...
install_requires=['numpy','gdal','h5py','beautifulsoup4','requests','tables','progress'],
...
Run Code Online (Sandbox Code Playgroud)
因此,当我运行 pip install 时,一切看起来都正常,直到收到此错误:
找不到满足进度要求的版本(来自#NAME#)(来自版本:)找不到进度的匹配发行版(来自#NAME#)
当我删除进度依赖项时(没有它我也可以生活),同样的事情也会发生pytables:
找不到满足要求的版本表(来自#NAME#)(来自版本:)找不到表的匹配分布(来自#NAME#)
如果我事先手动运行pip install tables,pip install progress一切都会按预期进行。
那么,我如何确保如果有人下载我的软件包,所有缺少的依赖项都会随之安装?
相关奖金问题:
MANIFEST.in如果模块不可用,我可以在包中包含一个wheel文件(也许通过)并将其安装为依赖项吗?如果是这样,怎么办?
我想我自己已经找到了问题的答案。
从 中安装软件包时testPyPI,也会从此处安装依赖项。看起来,虽然有很多可用的软件包,pytables但progress显然都丢失了。这导致安装失败。
当然,手动安装pip install从“正常”获取包PyPi,这当然是有效的。这显然增加了我的困惑。
pip install以下是从以下位置安装软件包时的输出testPyPi:
Downloading https://test-files.pythonhosted.org/packages/4f/96/b3329750a04fcfc316f15f658daf6d81acc3ac61e3db390abe8954574c18/nump
y-1.9.3.tar.gz (4.0MB)
Run Code Online (Sandbox Code Playgroud)
直接安装轮子时,看起来略有不同:
Downloading https://files.pythonhosted.org/packages/2e/91/504e434d3b95d943caab926f33dee5691768fbb622bc290a0fa6df77e1d8/numpy-1.1
4.2-cp27-none-win32.whl (9.8MB)
Run Code Online (Sandbox Code Playgroud)
此外,运行
pip install --index-url https://test.pypi.org/simple/ tables
Run Code Online (Sandbox Code Playgroud)
产生与我的问题中描述的相同的错误。
| 归档时间: |
|
| 查看次数: |
10935 次 |
| 最近记录: |