在Python virtualenv中安装numpy

kar*_*njo 21 python ubuntu numpy virtualenv

我在Ubuntu 13.04上为Python 2.7.4创建了virtualenv.我已经安装了python-dev.

我在virtualenv中安装numpy时出错.

也许,你有什么想法可以修复吗?

sam*_*n13 29

问题是 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
Run Code Online (Sandbox Code Playgroud)

然后安装python2.7-dev

sudo apt-get install python2.7-dev
Run Code Online (Sandbox Code Playgroud)

而且我发现你很可能已经完成了上述事情.

pip将最终吐出另一个错误/user/bin/blahBlah/dist-packages/,因为它无法写入或类似的东西,因为它无法弄清楚它应该在活动的env中安装你的desiredPackage(例如numpy)(由virtualenv创建的env你可能在做这一切的时候甚至改变了目录

这样做:

pip -E /some/path/env install desiredPackage
Run Code Online (Sandbox Code Playgroud)

应该完成工作...希望:)

- -编辑 - -

从PIP版本1.1开始,该命令pip -E不起作用.以下是1.1版(https://pip.pypa.io/en/latest/news.html)发行说明的摘录

删除-E/--environment选项和PIP_RESPECT_VIRTUALENV; 两者都使用了一个破坏的重新启动机制,并且没有一个是有用的,因为每个virtualenv现在都有pip.替换pip -E path/to/venv install Foovirtualenv path/to/venv && path/to/venv/pip install Foo

  • 非常感谢 !!这对我来说就像一个魅力,我一直在努力解决错误. (2认同)

neb*_*ffa 20

如果您使用的是Python3,则需要执行此操作sudo apt-get install python3-dev.我花了一点时间才弄明白.


drp*_*poo 12

如果你遇到了这个问题,即使你已经安装了所有操作系统依赖项(python-devel,fortran编译器等),问题可能与以下错误相关: "numpy install thru install_requires directive issue ..."

解决方法是在运行setup.py之前在您的(虚拟)环境中手动安装numpy,以安装依赖于numpy的任何要安装的内容.

例如,pip install numpy然后python ./setup.py install