簡體   English   中英

在Python virtualenv中安裝numpy

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM