我在 Ubuntu 13.04 上为 Python 2.7.4 创建了 virtualenv。我已经安装了 python-dev。
在 virtualenv 中安装 numpy 时出现错误。
也许,你有什么想法要解决?
我在 Ubuntu 13.04 上为 Python 2.7.4 创建了 virtualenv。我已经安装了 python-dev。
在 virtualenv 中安装 numpy 时出现错误。
也许,你有什么想法要解决?
问题是SystemError: Cannot compile 'Python.h'. Perhaps you need to install python-dev|python-devel.
所以请执行以下操作以获得“Python.h”
确保 apt-get 和 gcc 是最新的
sudo apt-get update
sudo apt-get upgrade gcc
然后安装python2.7-dev
sudo apt-get install python2.7-dev
我看到你很可能已经完成了上述事情。
pip 最终会因为无法写入/user/bin/blahBlah/dist-packages/
或类似的东西而吐出另一个错误,因为它无法确定它应该在活动环境中安装您想要的包(例如 numpy)(由 virtualenv 创建的环境,您可能甚至在执行所有这些操作时将目录更改为)
这样做:
pip -E /some/path/env install desiredPackage
那应该可以完成工作...希望:)
- -编辑 - -
从 PIP 版本 1.1 开始,该命令pip -E
不起作用。以下是 1.1 版本发布说明的摘录(https://pip.pypa.io/en/latest/news.html)
删除-E/--environment
选项和PIP_RESPECT_VIRTUALENV
; 两者都使用了已损坏的在 venv 中重新启动机制,并且没有一个是有用的,因为现在每个 virtualenv 里面都有 pip 。替换pip -E path/to/venv install Foo
为virtualenv path/to/venv && path/to/venv/pip install Foo
如果您使用的是 Python3,则需要执行sudo apt-get install python3-dev
. 我花了一点时间才弄清楚。
如果您在安装了所有操作系统依赖项(python-devel、fortran 编译器等)后仍遇到此问题,则该问题可能与以下错误有关: “numpy installation thru install_requires 指令问题...”
解决方法是在运行 setup.py 之前在您的(虚拟)环境中手动安装 numpy 以安装任何您想要安装的依赖于 numpy 的东西。
例如,pip install numpy
那么python ./setup.py install
这个答案适用于我们这些从源代码编译 python 或将其安装到非标准目录的人。在我的情况下,python2.7 安装到 /usr/local 并且包含文件安装到 /usr/local/include/python2.7
C_INCLUDE_PATH=/usr/local/include/python2.7:$C_INCLUDE_PATH pip install numpy
我最近遇到了同样的问题。我运行 Debian Jessie 并尝试从 Python 2.7.9 virtualenv 安装 numpy。我遇到了同样的错误——numpy 抱怨 Python.h 在 python2.7-dev 和 gcc 已经安装时丢失。
File "numpy/core/setup.py", line 42, in check_types
],
File "numpy/core/setup.py", line 293, in check_types
SystemError: Cannot compile 'Python.h'. Perhaps you need to install python-dev|python-devel.
我正在运行 pip 1.5.6,但它似乎没有命令行选项“-E”
$ pip -V
pip 1.5.6 from /home/alex/.virtualenvs/myenv/local/lib/python2.7/site- packages (python 2.7)
升级 pip 到最新版本 7.0.3 解决问题
$ pip install --upgrade pip
Downloading/unpacking pip from https://pypi.python.org/packages/py2.py3/p/pip/pip-7.0.3-py2.py3-none-any.whl#md5=6950e1d775fea7ea50af690f72589dbd
Downloading pip-7.0.3-py2.py3-none-any.whl (1.1MB): 1.1MB downloaded
Installing collected packages: pip
Found existing installation: pip 1.5.6
Uninstalling pip:
Successfully uninstalled pip
Successfully installed pip
Cleaning up...
现在可以安装 numpy
$ pip install numpy
Collecting numpy
Downloading numpy-1.9.2.tar.gz (4.0MB)
100% |████████████████████████████████| 4.0MB 61kB/s
Installing collected packages: numpy
Running setup.py install for numpy
Successfully installed numpy-1.9.2
这可能是因为您没有安装该python-dev
软件包。你可以像这样安装它:
sudo apt-get install python-dev
您也可以通过软件中心安装它:
@samkhan13 解决方案对我不起作用,因为 pip 说它没有 -E 选项。我仍然遇到同样的错误,但对我有用的是安装 matplotlib,它安装了 numpy。