Enthought python не распознает системные модули

Я установил дистрибутив Enthought Python (то есть python 2.7) на виртуальную машину Ubuntu 12.04, и было бы очень полезно, если бы он мог распознавать модули, импортированные через менеджер пакетов synaptic. В настоящее время они распознаются только системной установкой Python (вполне понятно). Поскольку оба питона 2.7, можно ли заставить мою установку EPD распознавать системные модули? Спасибо.


person user1137022    schedule 19.01.2013    source источник


Ответы (3)


Нет, использование синаптических модулей с EPD не поддерживается. Конечно, вы можете попробовать добавить определенные пакеты в ваш PYTHONPATH, но это может привести к конфликтам, особенно для модулей, содержащих C-расширения, которые могут быть связаны с немного другой версией Python.

В настоящее время рекомендуемый способ установки пакетов Python в EPD — с помощью инструмента enpkg. Попробуйте enpkg -s <packagename> проверить, находится ли нужный пакет в репозитории Enthought. Если вы еще этого не сделали, вам следует обновить сам enpkg, запустив enpkg enstaller, и ввести свои учетные данные EPD, запустив enpkg --userpass. Затем вы сможете установить поддерживаемые пакеты с помощью enpkg <packagename> (используя enpkg для обновления пакетов EPD).

Если искомый пакет отсутствует в репозитории Enthought, вы можете установить pip с помощью enpkg pip и установить пакеты в EPD с помощью этого инструмента.

В качестве альтернативы вы можете загрузить исходный код нужного пакета и установить его с помощью python setup.py install, при условии, что у пакета есть файл setup.py.

Примечание: если вы устанавливаете пакет в EPD без использования enpkg, вы должны сначала удалить версию пакета EPD, если она существует (enpkg --remove <packagename>). Если позже вы решите установить пакет с помощью enpkg, вам следует сначала удалить версию, которую вы установили, с помощью альтернативного метода (с использованием установщиков пакетов, отличных от EPD, таких как pip).

Существует также предстоящий менеджер пакетов с графическим интерфейсом от Enthought, который в настоящее время находится в стадии бета-тестирования.

person Robert David Grant    schedule 21.01.2013

Была та же проблема. В дистрибутиве Enthought используются совершенно другие пути Python и префикс библиотеки, чем в вашем дистрибутиве мельничной системы. Поэтому, если вы используете pip, pip будет установлен по вашему системному пути, а не по пути EPD. Решение:

1) получите префикс EPD: enpkg --path

2) запишите это куда-нибудь

3) если вы устанавливаете pip, введите:

pip install --install-option="--prefix=$PREFIX_PATH" package_name

как написано Яном Бикингом в Установите Пакет Python в другой каталог с помощью pip?.

person Lynx-Lab    schedule 19.01.2013

Предыдущий ответ может быть устаревшим. В версии 4.6.3 используйте enpkg --env для получения префикса

$ enpkg --version
enstaller version: 4.6.3

$ enpkg --env
person P Moran    schedule 27.03.2014
comment
Вместо enpkg --env я бы предложил использовать более информативный вариант enpkg --config. Флаг --env может измениться (или исчезнуть) в будущих версиях, тогда как --config используется более широко. - person jweaver; 06.06.2014