Все ли модули Python, установленные в проекте, будут установлены, если я использую git clone этого проекта - PullRequest
0 голосов
/ 09 октября 2019

Может быть, этот вопрос задавался много раз, но я ничего не нашел. У меня есть проект, который содержит много пакетов Python, я поместил его в репозиторий github, используя

git push

после того, как я клонировал его с другого компьютера, после клонирования я сделал

pip3 freeze 

Но в спискепакеты я не видел некоторые пакеты, которые я использовал в своем проекте. Вот мой вопрос: я должен установить все пакеты, которые я использую в своем проекте, вручную или вот рекомендации

Ответы [ 2 ]

0 голосов
/ 09 октября 2019

Ключевой концепцией здесь является, в соответствии с git рекомендациями принципами, которые вы выполняете не хотите версии контролировать содержимое пип-модулей в вашем репо (так же, как вы не хотите отслеживать двоичные файлы), , но описание или манифест необходимых модулей и правильных версий .

Говоря о чисто Python,Самый простой способ отследить необходимые версии пакетов, которые необходимо запустить в вашем коде Python, - это сохранить их в файле под названием needs.txt. Вы можете выполнить следующую команду:

pip freeze > requirements.txt

После добавленияЕсли вы клонируете его в файл git-репозитория, то вам нужно знать, какие версии модулей необходимы для запуска вашего cod, и они могут установить зависимости, выполнив следующую команду:

pip install -r requirements.txt

Стоит отметить, чтона этом этапе настоятельно рекомендуется использовать любую из множества стратегий для работы с средами Python, например virtualenv , pyenv и pipenv , таким образом, вы можете изолировать пакеты и зависимости модулей для среды, а не глобально.

0 голосов
/ 09 октября 2019

Вы должны хранить список ссылок в репозитории git, но фактические файлы (двоичные файлы) для этих ссылок не должны быть частью репо, и пакеты должны быть загружены / установлены после загрузки исходного кода.

Другими словами. Ваш исходный код должен содержать файлы конфигурации, в которых говорится, например, что для запуска решения требуется пакет X с версией> = 3.4.5, но репозиторий не должен содержать двоичные файлы для Xv.3.4.5.

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

Сказав это, бывают случаи, когда двоичные файлы должны быть включены, но это крайние случаи, и обычно этого следует избегать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...