PyPI中的pyhdf链接将转到脱机服务器?(带解决方法)

2024-05-14 16:45:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用pip在python3中添加包pyhdf。 我在一个virtualenv中工作,那里有prereq包:

% pip list

numpy (1.9.2)
pip (7.0.3)
requests (2.7.0)
setuptools (17.0)
wheel (0.24.0)

如果我让pip获取pyhdf的最新/默认版本,我相信它会搜索这个索引页

https://pypi.python.org/simple/pyhdf/

当它试图从当前没有响应的服务器上FTP v.0.7.x(不是最新版本)的egg时,这似乎会使pip出错:

ftp://nordet.qc.dfo-mpo.gc.ca/pub/soft/pyhdf/pyhdf-0.7-1.tar.gz

“requests”包不接受像这样的FTP url,而且pip现在强烈反对获取外部/未验证的包,尽管它们在PyPI中列出。我决定解决这个问题,直接从作者的网站获取最新版本:

wgethttp://hdfeos.org/software/pyhdf/pyhdf-0.9.0.tar.gz

要从下载的egg构建python包,需要在运行之前获取libhdf的源文件头设置.py(通过pip或手动)我在venv外部执行了以下操作,尽管它们也可能在一个内部工作

sudo apt-get install libhdf4-0
sudo apt-get install libhdf4-dev libhdf4-doc

最后,回到venv中,实际的pip安装语法对我从焦油.gz我下载了:

pip install --global-option=build_ext --global-option="-I/usr/include/hdf" --no-index --find-links=file:pyhdf-0.9.0.tar.gz pyhdf

之后pip list产生:

numpy (1.9.2)
pip (7.0.3)
pyhdf (0.9.0)
requests (2.7.0)
setuptools (17.0)
wheel (0.24.0)

耶!你知道吗

既然我发布的解决方案让我的pyhdf很好,为了让这成为一个实际的问题,我会问: 有没有一种正式的方法可以让用户联系PyPI管理员或pyhdf包的作者来报告项目页面上的“最佳匹配”链接是:

  1. 不再是最新版本,以及
  2. 指向明显处于脱机状态的FTP服务器(至少当前是) 如果没有额外的人工干预,使pip install pyhdf基本上不可行(如果是永久性的,应该由维护人员记录)

Tags: installpiporg版本numpy服务器ftptar

热门问题