[英]Install numpy in Python virtualenv
我在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.
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/
或類似的內容而吐出另一個錯誤,因為它無法弄清楚它是否應該安裝你的desiredPackage(例如numpy) active env(由virtualenv創建的env,你甚至可以在執行所有這些操作時將目錄更改為)
這樣做:
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
; 兩者都使用了一個破壞的重新啟動機制,並且沒有一個是有用的,因為每個virtualenv現在都有pip。 將pip -E path/to/venv install Foo
替換pip -E path/to/venv install Foo
使用virtualenv path/to/venv && path/to/venv/pip install Foo
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 install 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抱怨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。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.