很多情况下我们希望在项目中建立一个build.bat
用于项目的自动构建,避免每次构建时都需要手动在控制台中输入命令。
例如对于 pyinstall 的项目,只需要如下的实现:
pyinstaller main.spec
但是对于大部分的 python 项目,我们一般都会创建一个虚拟环境,方便对项目依赖包的管理,这时候执行 bat 文件就会因为没有进入虚拟环境而出错,那么如何在 bat 中进入虚拟环境呢?
python的虚拟环境主要分为三种解决方案:virtualenv、pipenv 和 conda,这里以 virtualenv 为例:
使用virtualenv创建的虚拟环境一般会在项目目录下(也可能在其他地方)出现一个包含虚拟环境的文件夹,例如我在一个文件夹中执行命令:
virtualenv env
在该文件夹下面就会出现一个 env 文件夹:
此时进入虚拟环境应执行的指令应为:
./env/Scripts/activate
因此我们应该在我们的 bat 文件的第一行这样写:
call "./env/Scripts/activate"
例如:
执行后的结果:
可见这里的 pip list 是在虚拟环境中执行的。