在没有sudo的情况下安装h5py

时间:2016-02-19 17:55:00

标签: python-2.7 pip h5py

我试图通过sudo pip install -U os-testr 为python 2.7安装h5py包,我不能使用pip而且我也安装了python 3.2。

这是我的尝试:

我已经安装了pip:

sudo

然后我安装了curl -O https://bootstrap.pypa.io/get-pip.py python2.7 get-pip.py --user

wheel

~/.local/bin/pip2.7 install --user wheel

然后安装Collecting wheel /home/myuser/.local/lib/python2.7/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:315: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#snimissingwarning. SNIMissingWarning /home/myuser/.local/lib/python2.7/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:120: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning. InsecurePlatformWarning Using cached wheel-0.29.0-py2.py3-none-any.whl Installing collected packages: wheel Successfully installed wheel-0.29.0 ,似乎失败了。

h5py

~/.local/bin/pip2.7 install --user h5py

通过Collecting h5py Using cached h5py-2.5.0.tar.gz /usr/lib/python2.7/dist-packages/setuptools/command/install_scripts.py:3: UserWarning: Module pip was already imported from /home/myuser/.local/lib/python2.7/site-packages/pip/__init__.pyc, but /usr/lib/python2.7/dist-packages is being added to sys.path from pkg_resources import Distribution, PathMetadata, ensure_directory Requirement already satisfied (use --upgrade to upgrade): numpy>=1.6.1 in /usr/lib/python2.7/dist-packages (from h5py) Requirement already satisfied (use --upgrade to upgrade): Cython>=0.17 in /home/myuser/.local/lib/python2.7/site-packages (from h5py) Requirement already satisfied (use --upgrade to upgrade): six in /home/myuser/.local/lib/python2.7/site-packages (from h5py) Building wheels for collected packages: h5py Running setup.py bdist_wheel for h5py ... error Complete output from command /usr/bin/python2.7 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-7KTR1Y/h5py/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" bdist_wheel -d /tmp/tmpE1KVSupip-wheel- --python-tag cp27: usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...] or: -c --help [cmd1 cmd2 ...] or: -c --help-commands or: -c cmd --help error: invalid command 'bdist_wheel' ---------------------------------------- Failed building wheel for h5py Running setup.py clean for h5py Failed to build h5py Installing collected packages: h5py Running setup.py install for h5py ... done Successfully installed h5py-2.5.0

运行python
python2.7

我做错了什么?

更新

Python 2.7.3 (default, Feb 27 2014, 19:58:35) [GCC 4.6.3] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import h5py Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/home/myuser/.local/lib/python2.7/site-packages/h5py/__init__.py", line 23, in <module> from . import _conv File "h5py/h5r.pxd", line 21, in init h5py._conv (/tmp/pip-build-7KTR1Y/h5py/h5py/_conv.c:7356) File "h5py/_objects.pxd", line 12, in init h5py.h5r (/tmp/pip-build-7KTR1Y/h5py/h5py/h5r.c:2941) File "h5py/_objects.pyx", line 1, in init h5py._objects (/tmp/pip-build-7KTR1Y/h5py/h5py/_objects.c:7226) ImportError: /home/myuser/.local/lib/python2.7/site-packages/h5py/defs.so: undefined symbol: H5Oexists_by_name

~/.local/bin/pip2.7 show h5py

我的操作系统是Ubuntu 12.04.1 LTS。

1 个答案:

答案 0 :(得分:0)

所以这里发生了一些事情:

  1. 缺少SSL证书问题(请参阅urllib3链接)
  2. setuptools未找到wheel,表示未构建轮子,因此pip直接调用python setup.py install
  3. h5py正在尝试使用HDF5中的一个功能,该功能在您系统上的HDF5版本中不存在。
  4. 1和2值得修复(因为它们可能是系统其他问题的症状),但3是h5py不适合你的原因。

    h5py正在尝试访问H5Oexists_by_name。根据{{​​3}},这首先出现在HDF5的1.8.5版本中。根据{{​​3}},您系统上的HDF5版本是1.8.4(但您需要检查一下!)。不知怎的h5py认为你系统上的HDF5库是1.8.5或更高(见https://www.hdfgroup.org/HDF5/doc/RM/RM_H5O.html#Object-ExistsByName

    看起来其他人遇到了类似的问题,并提交了http://packages.ubuntu.com/source/precise/hdf5。您可能想要告知他们您的问题,以便他们可以修复错误。

相关问题