pipenv是官方推荐的的python包管理工具,可以实现项目之间依赖的隔离。我主要在它的虚拟环境中打包app,解决pyinstaller打包app巨大的问题。
1、安装
pip install pipenv
2. 使用
2.1 创建虚拟环境
首先创建自己的项目目录,比如Users/apple/project,然后cd切换到该目录下,在该目录下使用命令pipenv install可以创建一个虚拟的环境。(默认是当前系统的python版本号)
当然也可以添加–python参数指定python版本号,前提条件是本地已经安装该版本的python。
pipenv --phthon 3.7 #指定Python3.7
pipenv --two #使用系统的Python2在创建虚拟环境
pipenv --three #使用系统的Python3在创建虚拟环境
然后会在项目目录中创建两个新文件:
Pipfile:该文件是TOML格式,存放当前虚拟环境的配置信息,包括python版本,pypi源以及依赖包等,pipenv根据该文件寻找项目的根目录。
Pipfile.lock:该文件是对Pipfile的锁定,支持锁定项目不同版本所依赖的环境。
2.2 激活/退出
pipenv shell # 激活环境
exit # 退出
2.3 安装/卸载包
安装工程所需要的包,比如:
pipenv install pyinstaller
pipenv install pyqt5==5.9.2
pipenv uninstall python-docx # 卸载
如果已经有pipfile文件,那么可以使用下面的语句安装pipfile中包含的包
pipenv install
可以使用下面的命令查看已安装的包
pipenv graph # 查看已安装的模块
3.打包应用
进入到虚拟环境,使用pyinstaller打包即可,方法一样。
4.解决pipenv安装包速度慢的问题
默认使用官方源,更换为清华源即可,方法:
切换目录到项目文件根目录
打开Pipfile文件:
[[source]]
name = "pypi"
url = "https://pypi.tuna.tsinghua.edu.cn/simple/"
verify_ssl = true
[dev-packages]
[packages]
pyinstaller = "*"
pyqt5 = "==5.9.2"
python-docx = "*"
openpyxl = "*"
pony = "*"
pymysql = "*"
pyqt5-sip = "*"
[requires]
python_version = "3.7"
把第二行的 url 换成清华源即可:
url = "https://pypi.tuna.tsinghua.edu.cn/simple/"
5.常用命令一览
pipenv --where 列出本地工程路径
pipenv --venv 列出虚拟环境路径
pipenv --py 列出虚拟环境的Python可执行文件
pipenv install 创建虚拟环境
pipenv isntall [moduel] 安装包
pipenv install [moduel] --dev 安装包到开发环境
pipenv uninstall[module] 卸载包
pipenv uninstall --all 卸载所有包
pipenv graph 查看包依赖
pipenv lock 生成lockfile
pipenv run python [pyfile] 运行py文件
pipenv --rm 删除虚拟环境
6.参考
https://blog.csdn.net/haiyanggeng/article/details/82382993
https://blog.csdn.net/jpch89/article/details/81952416
pipenv使用入门:https://www.jianshu.com/p/49a34f25acee