Val*_*Val 6 python pip setup.py python-packaging
TL;DR即使我已经使用install_requires
in指定了依赖项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 次 |
最近记录: |