Подтвердить что ты не робот

Установить numpy в виртуальном виртуальном пространстве Python

Я создал virtualenv для Python 2.7.4 на Ubuntu 13.04. Я установил python-dev.

У меня ошибка при установке numpy в virtualenv.

Возможно, у вас есть какие-нибудь идеи для исправления?

4b9b3361

Ответ 1

Задача 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

Ответ 2

Если вы находитесь на Python3, вам нужно сделать sudo apt-get install python3-dev. Принял меня немного, чтобы понять это.

Ответ 3

Если вы столкнулись с этой проблемой, хотя вы установили все зависимости ОС (python-devel, fortran компилятор и т.д.), проблема может быть связана с следующей ошибкой: "установка numpy через директиву install_requires..."

Обход - это вручную установить numpy в вашей (виртуальной) среде перед запуском setup.py, чтобы установить то, что вы хотите установить, которое зависит от numpy.

например, pip install numpy, затем python ./setup.py install

Ответ 4

Этот ответ для тех из нас, кто скомпилировал 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

Ответ 5

У меня недавно была та же проблема. Я запускаю 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

Ответ 6

Возможно, это связано с тем, что пакет python-dev не установлен. Вы можете установить его так:

sudo apt-get install python-dev

Вы также можете установить его через Центр программного обеспечения:

enter image description here

Ответ 7

@Решение samkhan13 не работало для меня, поскольку pip сказал, что у него нет опции -E. Я все еще получал ту же ошибку, но для меня работала установка matplotlib, в которой установлен numpy.