3

我正在尝试使用 pippyhdf在 python3 中添加包。我在 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/

这似乎使 pip 出错,因为它试图从当前没有响应的服务器 FTP v.0.7.x(不是最新的)的鸡蛋:

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

我已经经历了'requests'包​​不接受像这样的FTP URL的整个混乱,并且pip现在强烈反对获取外部/未经验证的包,即使它们在PyPI中列出。我决定采用这种解决方法,直接从作者的网站获取最新版本:

wget http://hdfeos.org/software/pyhdf/pyhdf-0.9.0.tar.gz

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

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

最后,回到 venv,实际的 pip install 语法对我有用,可以从我下载的 tar.gz 安装 pyhdf:

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如果没有太多额外的手动干预(如果是永久性的,应该由维护人员记录),基本上是不可行的
4

0 回答 0