Ubuntu 13.04でPython 2.7.4のvirtualenvを作成しました。python-devをインストールしました。
Numpyをvirtualenvにインストールするときに エラー があります。
多分、修正するアイデアはありますか?
問題は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)をインストールすることを想定できなかったためです。これをすべて実行している間にディレクトリを変更した可能性がある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
を削除しました。どちらも壊れた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
を実行する必要があります。それを理解するために少し時間を取った。
すべてのOS依存関係(python-devel、fortranコンパイラーなど)をインストールしたにもかかわらず、この問題が発生する場合、問題は次のバグに関連している可能性があります: "numpy installation 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。すでにインストールされています。
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
@ samkhan13ソリューションは、pipが-Eオプションを持たないと言ったので、私にとってはうまくいきませんでした。私はまだ同じエラーを受け取りましたが、私にとってうまくいったのは、numpyをインストールするmatplotlibをインストールすることでした。
これはおそらくpython-dev
パッケージがインストールされました。次のようにインストールできます。
Sudo apt-get install python-dev
ソフトウェアセンターからインストールすることもできます。