现在项目中使用 python+selenium 搭建自动化测试框架,在写代码的时候用到了一些外部包,我是直接在 python 的 pip 中 install 的,那么其他人下载代码运行该如何知道要 install 哪些外部包呢?有没有更好的方式来解决这个问题?谢谢各位坛子们。
简单版本: 写个 requirements.txt, 用 pip install -r requirements.txt 安装依赖 更好的做法: 用 pipenv
pip install -r requirements.txt
pipenv
上面正解,先弄 1 个虚拟环境,让别人导入一份 requirements.txt 给你
若有用虚拟环境的话,可以先 pip freeze > requirements.txt 导出依赖,再把 requirements.txt 保存在代码目录里,这样别人下载后一般都会知道要通过 pip install -r requirements.txt 来安装依赖了。。。
pip freeze > requirements.txt
requirements.txt
没有用虚拟环境 那怎么办呢?
我想问一下,使用 pipenv 管理包,别人下载项目也是要在 pipenv shell 中 install 那些包的吗?
是的,如果你用 pipenv 生成了 Pipfile 和 Pipfile.lock, 别人 pipenv install 就会安装 Pipfile 的依赖了。 pipenv 是 python 官方推荐的包管理工具,算是最佳实践吧。
pipenv install
你也可以在本地用 pipenv 启一个新的虚拟环境,然后代码 import 报错就 pipenv install 相关的包,就可以整理一份你的工程需要的依赖了。
嗯嗯,今天使用了一下,觉得挺好用的,就是有一个问题我没找到解决方式:虚拟环境的路径可以自定义吗?怎么自定义呢?
一般是切换到工程目录中,pipenv --three 创建 python 虚拟环境 就可以了