Почему установка pip из github завершается неудачно, когда установка pip -e завершается успешно? - PullRequest
0 голосов
/ 23 февраля 2019

Существует git-репозиторий на https://github.com/Ivancic91/LammpsIO, который я могу установить в «редактируемом» режиме путем клонирования и запуска pip install -e /path/to/LammpsIO.Когда я делаю это, я могу успешно запустить import LammpsIO в python.

Однако, когда я устанавливаю pip напрямую из github с pip install git+https://github.com/Ivancic91/LammpsIO.git, я сталкиваюсь с проблемами.Фактическая команда pip install выглядит успешной с обычными сообщениями об успехе:

Successfully built LammpsIO
Installing collected packages: LammpsIO
Successfully installed LammpsIO-0.0.1

Но когда я пытаюсь импортировать LammpsIO, я получаю ModuleNotFoundError: No module named 'LammpsIO'.

Я думал, что это может быть что-то вродеошибки пути, но which pip и which python указывают на одну и ту же папку среды conda.

Вот еще пара выводов на случай, если они кому-нибудь понадобятся.

После pip install git+...:

  1. conda list возвращает:

krb5 1.16.3 h24a3359_1000 conda-forge
lammpsio 0.0.1 pypi_0 pypi
libcurl 7.64.0 h76de61e_0 conda-кузница

pip list возвращает:

kiwisolver 1.0.1
LammpsIO 0.0.1
MarkupSafe 1.1.0

После pip install -e ...:

  1. conda list возвращает:

krb5 1.16.3 h24a3359_1000 conda-forge
lammpsio 0.0.1 dev_0 libcurl 7.64.0 h76de61e_0 conda-forge

pip list возвращает:

kiwisolver 1.0.1
LammpsIO 0.0.1 / путь / к / LammpsIO / src
MarkupSafe 1.1.0

IЯ предполагаю, что это связано с неортодоксальной структурой LammpsIO, чей файл setup.py содержит:

package_dir = {'': 'src'},
packages = find_packages(where='src'),

, но я удивлен, что установка pip из github не удалась там, где работает pip install -e /path.

1 Ответ

0 голосов
/ 23 февраля 2019

Ваши рассуждения кажутся здесь правильными.Я думаю, что то, что вы пытаетесь, сработает.Я создал новый virtualenv и попробовал установить github самостоятельно.Я тогда заглянул в сайт-пакеты.То, что я вижу, странно.Существует каталог 'LammpsIO-0.0.1.dist-info', содержащий основные метаданные, но сам пакет Lammps отсутствует.Я нашел "найти".-iname "* mmps *" 'в пакетах сайта, и получил только этот информационный каталог.Похоже, пакет на самом деле не был установлен.- LammpsIO действительно появляется, когда я делаю «список пипсов».

Если вы «устанавливаете» пакет, скачав zip и выполнив «pip install [zip]», вы получите тот же вывод из pip и в итоге получитес той же проблемой.Так что это не имеет ничего общего с установкой непосредственно с github.Это связано с фактической установкой пакета, а не просто связыванием его источника с вашей средой.

Я предполагаю, что установщик Lammps просто не работает - поскольку '-e' ничего не устанавливает, а просто создаетссылка, которая объясняет, почему она работает, а обычная установка - нет.

...