Рекомендуемый рабочий процесс для клонирования git в виртуальную среду Python - PullRequest
0 голосов
/ 10 марта 2019

Каков рекомендуемый рабочий процесс, если я хочу перенести git-репо в виртуальную среду Python?Я думаю проще всего:

  1. Создать в нем пустой каталог
  2. cd и git clone <repo>, так как это будет работать только в пустых каталогах
  3. создать виртуальную среду в подкаталоге в том же каталоге
  4. Запустить VE и установить файл require.txt из <repo>.
  5. Добавить подкаталог (и другие вещи для моих глазтолько) .gitignore
  6. работать над проектом, как предполагалось
  7. возможно, попросить отправить ценные / общие результаты в исходное репо.

Или есть способ получше?

Отказ от ответственности: Я довольно n00b с мерзавцем, пожалуйста, потерпите меня.Я хорошо знаю, что уже есть несколько похожих ответов, однако я не смог найти убедительный TL; DR.Возможно, я пропустил это.

1 Ответ

1 голос
/ 12 марта 2019

Вот что мне нравится делать:

git clone <repo> <repodir>
cd <repodir>
virtualenv .venv
. .venv/bin/activate
pip install -e .

Вот и все.Теперь все внесенные мной изменения будут «жить» в виртуальной среде.У меня есть глобальный .gitignore файл (git config --global core.excludesfile ~/.gitignore), который включает .venv, поэтому мне не нужно обновлять .gitignore в отдельных репозиториях.

Обратите внимание, что вам не нужно запускать git clone в пустой директории.Поскольку он создает каталог новый , ему все равно, пустой каталог или нет.

Обновление

Посмотрите, мынаходится в непустом каталоге:

bash-4.4$ ls
file1  file2  file3

Мы можем запустить git clone здесь:

bash-4.4$ git clone https://github.com/git/git
Cloning into 'git'...
remote: Enumerating objects: 264438, done.
remote: Total 264438 (delta 0), reused 0 (delta 0), pack-reused 264438
Receiving objects: 100% (264438/264438), 112.69 MiB | 9.84 MiB/s, done.
Resolving deltas: 100% (196057/196057), done.

Он запускается без проблем и создает новый каталог:

bash-4.4$ ls
file1  file2  file3  git
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...