问题描述
我已经在Ubuntu 13.04上为Python 2.7.4创建了virtualenv。我已经安装了python-dev。
在virtualenv中安装numpy时,我有the error。
也许您有什么想法要解决?
最佳回答
问题是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/
或类似内容而吐出另一个错误,因为它无法弄清楚它是否应该在活动环境(您由virtualenv创建的环境)中安装期望的PackagePackage(例如numpy)可能在执行所有操作时甚至将目录更改为
这样做:
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
;两者都使用了已损坏的restart-in-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 directive issue…”
解决方法是在运行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抱怨在已经安装了python2.7-dev和gcc的情况下缺少Python.h。
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升级到最新的verson 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