在Fork的克隆仓库中创建Python虚拟环境,还是先建环境再克隆?
关于Fork仓库后虚拟环境的创建建议
两种方式都可行,但更推荐把虚拟环境放在仓库目录外面,从根源避免误提交的风险;如果习惯把venv放在仓库里,也有成熟的方法防止它被提交到PR中。
推荐方案:先建虚拟环境,再克隆仓库
- 找个本地父目录(比如
~/sphinx-contrib/),先在这里创建虚拟环境:python -m venv venv - 激活虚拟环境:Windows用
venv\Scripts\activate,Linux/macOS用source venv/bin/activate - 同一父目录下克隆你的Fork仓库:
git clone https://github.com/你的账号/目标仓库名.git - 进入克隆后的仓库目录,安装项目依赖:
pip install -r requirements.txt
这种方式下,虚拟环境和仓库完全分离,Git根本不会扫描到它,彻底杜绝误提交的可能,省心又安全。
若要在仓库内创建虚拟环境:防止提交的方法
- 先检查仓库根目录的
.gitignore文件,绝大多数开源项目已经默认添加了venv/、*.venv/这类规则,直接用就行,Git会自动忽略虚拟环境目录。 - 如果项目没有
.gitignore,自己新建一个,在里面加一行venv/(或者你给虚拟环境起的文件夹名),保存后Git就不会追踪这个目录了。 - 要是不小心已经把venv加到了Git暂存区,执行
git rm -r --cached venv/把它从暂存区移除,之后就不会被纳入提交范围。
关于Pull Request的说明
只要虚拟环境目录没被提交到你的Fork仓库,PR里就绝对不会包含这些文件。本地的venv只是开发环境的一部分,只要Git没追踪它,push的时候根本不会推送到远程仓库,自然不会出现在PR里。
内容的提问来源于stack exchange,提问作者Ray Culp
相关产品推荐
相关产品推荐

