如果我想将git拉到虚拟Python环境中,那么推荐的工作流是什么?我认为最简单的办法是:
git clone <repo>中,因为这只在空目录中工作。<repo>。还是有更好的方法?
免责声明:我是一个相当n00b的git,请容忍我。我很清楚已经有多个类似的答案,但是我找不到令人信服的TL,也许我错过了。
发布于 2020-01-07 11:38:29
如果您想要将库克隆到要使用的项目中,那么下面的步骤将帮助您:
source .venv/bin/activate.fishpip uninstall <package>pip install -e git+ssh://git@github.com/<org>/<package>.git#egg=<package>cd .venv/src/<package>发布于 2019-03-12 15:39:20
我喜欢这样做:
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发布于 2022-07-22 15:18:32
据我所知,不建议将虚拟环境初始化并存储在项目的git目录中。在这种情况下,您的env空间暴露在某种粗俗中。其中:
.gitignore文件中的内容,以避免不必要的env分发。python3-venv列出所有env的简单方法。所以,很可能,如果你那样操作的话,你很难找到你有哪些可用的env。相反,推荐的方法是使用虚拟包装工具,即将所有env存储在一个特定的目录中,最常见的是在~/.virtualenvs中。此工具有助于在env之间创建、删除和切换。请参阅本post中的更多内容。
综上所述,推荐的工作流:
virtualenvwrappermkvirtualenv $env_name创建新的envgit clone <rep>初始化您的代表pip install -r requirements.txt环境下运行$env_namehttps://stackoverflow.com/questions/55087632
复制相似问题