установка pip из git против репозитория клонирования - PullRequest
1 голос
/ 08 января 2020

Что я сделал .
Следуя инструкциям, я установил пакет torchdiffeq с

pip install git+https://github.com/rtqichen/torchdiffeq

Чего мне не хватает .
Но это не клонировало хранилище, в частности, не ode_demo.py в подкаталоге examples.

Возможно, не правильное решение .
Если я клонирую репо, чтобы получить этот подкаталог examples, тогда у меня также будет другая копия подкаталога torchdiffeq, которую я сейчас уже установил (она находится под ~/.pyenv/versions/torchdiffeq/lib/python3.7/site-packages/torchdiffeq).

Это просто не не похоже на правильный путь.

Правильное решение с «редактируемым режимом»?
Я читал о редактируемых установках , но не уверен если это как-то связано с моей проблемой (и что такое «яйцо» ?).

Понимание процесса установки .
Это просто просмотр setup.py файла и, следовательно, только добавление torchdiffeq и torchdiffeq._impl в список пакетов (здесь я достигаю пределов моего понимания того, что делает setuptools.setup())? Другими словами, это говорит мне о том, что он игнорирует остальную часть репо?

Последнее замечание . Команда git install говорит:

Cloning https://github.com/rtqichen/torchdiffeq to /private/var/folders/sx/n_vsjpb907g774qmgxzmtv9r0000gn/T/pip-req-build-0uckfck8

последний является временным файлом, который, кажется, был удален после завершения установки, поэтому я не возможность увидеть, прошел ли там весь репо.

1 Ответ

1 голос
/ 08 января 2020

pip действительно клонировал репозиторий git, как вы сами сказали к концу вашего вопроса. Он был клонирован во временный каталог. pip затем использовал этот временный файл для сборки и установки проекта Python в вашей текущей среде. После этого временный каталог, содержащий клонированный репозиторий, был удален.

Каталоги torchdiffeq и torchdiffeq._impl объявлены как пакеты этого проекта (перечисленные в параметре к packages аргумент вызова функции setuptools.setup() в setup.py) и предназначен для фактической установки. Другие каталоги не предназначены для установки, поэтому pip не установил их.

Если вы хотите использовать примеры, вы можете оставить свой собственный клон git репозиторий и использовать их против установленной версии проекта. Если вы не хотите изменять код самого проекта, нет смысла использовать режим редактируемый .

...