pip安装和pyinstaller打包
一、pip
1.1 离线安装软件包
1. 首先一台主机上安装所有python包,然后运行如下命令下载依赖包:
pip freeze > requirements
pip download -r requirements
当然可以在requirements中添加基础包pip和wheel(一同下载下来)。但下载完后要还原requirements,不可以直接安装pip。
下载完成后,打包本目录所有文件。
2. 要部署的主机上解压打包文件,然后运行:
pip install --upgrade pip-19.0.3* pip install --no-index --find-links=./ -r requirements
首先升级pip,然后安装依赖包。
1.2 配置镜像源
如果当前pip使用的镜像源不是国内镜像源,则需要将其修改为国内镜像源。可以使用以下命令修改pip的镜像源地址:
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
修改完成后,可以使用以下命令验证pip是否已经使用新的镜像源地址:
pip config get global.index-url
二、pyinstaller打包
pip install PyInstaller
| -h | 该模块的help信息 |
|---|---|
| -F | 生成一个可执行文件 |
| -D | 生成一个目录(包含多个文件)作为可执行文件 |
| -w | 运行exe时,不显示命令行窗口(仅对Windows有效) |
| -i | 该参数后跟可执行文件的icon图标路径 |
| –distpath | 该参数后跟可执行文件的路径 |
| -n |
该参数后跟可执行文件的新名字 |
| -p |
自定义需要加载的类的路径 |
pyinstaller打包PySide2包(如安装多个版本python,要注意pyinstaller为指定python版本的)
pyinstaller -w -n test -i logo.ico test.py // 需拷贝ui文件
pyinstaller -w -F -n test -i logo.ico test.py
pyinstaller -w pymain.py --add-data="formmain.ui;." // 指定ui文件
或
pyinstaller pymain.spec
冗余打包 pyinstaller -D .\main.py -p ./core.py --noconsole --hidden-import PySide2.QtXml --icon="logo.ico"
精简打包 pyinstaller -F .\main.py -p ./core.py --noconsole --hidden-import PySide2.QtXml --icon="logo.ico"
使用配置文件 .spec,指定依赖的文件一起打包。配置文件重点部分内容:
a = Analysis(['MainWindow.py'], pathex=[], binaries=[], datas=[("./other", "other"), ("test.ui", ".")],
pip install pywin32
三、安装第三方模块
使用pip安装python模块。一般来说,第三方库都在python官网pypi.python.org网站注册。
要安装一个第三方库,必须先知道该库的名称,可以在官网或者pypi上搜索,比如Pillow的名称叫Pillow,因此,安装Pillow的命令就是:
pip install Pillow
pip加速
配置pip阿里加速,添加 ~/.pip/pip.conf 文件,内容如下:
[global]
index-url = https://mirrors.aliyun.com/pypi/simple/
timeout = 6000
[install]
trusted-host = mirrors.aliyun.com
在用户目录下(一般是 C:\Users\你的用户名)创建一个名为 pip的文件夹。在 pip文件夹中创建一个名为 pip.ini的文件。pip config list验证配置是否生效。
模块搜索路径
默认情况下,Python解释器会搜索当前目录、所有已安装的内置模块和第三方模块,搜索路径存放在sys模块的path变量中:
>>> import sys
>>> sys.path
['', '/usr/lib/python35.zip', '/usr/lib/python3.5', '/usr/lib/python3.5/plat-x86_64-linux-gnu', '/usr/lib/python3.5/lib-dynload',
'/home/wang/.local/lib/python3.5/site-packages', '/usr/local/lib/python3.5/dist-packages', '/usr/lib/python3/dist-packages']
如果我们要添加自己的搜索目录,有两种方法:
一是直接修改sys.path,添加要搜索的目录:
>>> import sys
>>> sys.path.append('/Users/michael/my_py_scripts')
这种方法是在运行时修改,运行结束后失效。
第二种方法是设置环境变量PYTHONPATH,该环境变量的内容会被自动添加到模块搜索路径中。设置方式与设置Path环境变量类似。注意只需要添加你自己的搜索路径,Python自己本身的搜索路径不受影响。
参考:
浙公网安备 33010602011771号