我试图通过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
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。
答案 0 :(得分:0)
所以这里发生了一些事情:
urllib3
链接)setuptools
未找到wheel
,表示未构建轮子,因此pip
直接调用python setup.py install
h5py
正在尝试使用HDF5中的一个功能,该功能在您系统上的HDF5版本中不存在。 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。您可能想要告知他们您的问题,以便他们可以修复错误。