Я создал virtualenv для Python 2.7.4 на Ubuntu 13.04. Я установил python-dev.
У меня ошибка при установке numpy в virtualenv.
Возможно, у вас есть какие-нибудь идеи для исправления?
Я создал virtualenv для Python 2.7.4 на Ubuntu 13.04. Я установил 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/
или что-то в этом роде, потому что она не может понять, что она должна была установить ваш желаемый пакет (например, numpy) в активном env (env созданный virtualenv, который вы, возможно, даже сменили каталог, делая все это)
сделайте так:
pip -E /some/path/env install desiredPackage
который должен выполнить свою работу... надеюсь:)
--- Edit ---
Начиная с версии PIP версии 1.1, команда pip -E
не работает. Ниже приведена выдержка из примечаний к выпуску версии 1.1 (https://pip.pypa.io/en/latest/news.html)
Удалена опция -E/--environment
и PIP_RESPECT_VIRTUALENV
; оба используют механизм перезапуска в-venv, который сломан, и ни один из них не является полезным, поскольку каждый virtualenv теперь имеет пипс внутри него. Замените 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_requires..."
Обход - это вручную установить numpy в вашей (виртуальной) среде перед запуском setup.py, чтобы установить то, что вы хотите установить, которое зависит от numpy.
например, pip install numpy
, затем python ./setup.py install
Этот ответ для тех из нас, кто скомпилировал python из источника или установил его в нестандартный каталог. В моем случае python2.7 был установлен в /usr/local, а включенные файлы были установлены в /usr/local/include/python 2.7
C_INCLUDE_PATH=/usr/local/include/python2.7:$C_INCLUDE_PATH pip install numpy
У меня недавно была та же проблема. Я запускаю Debian Jessie и пытаюсь установить numpy из Python 2.7.9 virtualenv. Я получил ту же ошибку - 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)
Обновление до последней версии 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
Возможно, это связано с тем, что пакет python-dev
не установлен. Вы можете установить его так:
sudo apt-get install python-dev
Вы также можете установить его через Центр программного обеспечения:
@Решение samkhan13 не работало для меня, поскольку pip сказал, что у него нет опции -E. Я все еще получал ту же ошибку, но для меня работала установка matplotlib, в которой установлен numpy.