win7 64 位 :
首先下载 python 安装包
python-3.6.7-amd64.exe
#### 环境搭建参考
pycharm+pyqt5的配置(二)
https://blog.youkuaiyun.com/u013973717/article/details/77685839
在c盘创建目录:
C:\python367_64
双击 python-3.6.7-amd64.exe
自定义安装,自定目录位置为:C:\python367_64\
安装好 virtualenvwrapper-win
pip install virtualenvwrapper-win
workon
mkvirtualenv -p C:\Python367_32\python.exe py367_32_etc_consume
mkvirtualenv -p C:/python367_64/python.exe py367_64_etc_add_oil
workon py367_64_etc_add_oil
deactivate
mkvirtualenv
virtualenv --no-site-packages test_env — 这个参数没有作用了
pip freeze > py367_32_work_requirements.txt
pip freeze > py367_64_work_requirements.txt
pip install -r requirements.txt
使用virtualenvwrapper-win 安装的 虚拟环境,如果 C:\python367_64\ 删掉了,或者有部分文件被删除,对应的 虚拟环境也会出错,
两者是紧密相连的.
111111
pip install PyQt5-tools
pip install pyqt5
pip install PyQtChart
pip install PyQtWebEngine
pip install QScintilla
2222
pip install pyqt5==5.13.0
pip install PyQtWebEngine==5.13
pip install pyecharts==0.5.11
或者
pip install pyecharts==1.7.1
进入
py367_64_etc_add_oil环境:
速度很慢,换 速度 很快
pip install PyQt5 -i https://pypi.douban.com/simple
安装常用的Qt工具:
pip install PyQt5-tools -i https://pypi.douban.com/simple
使用的版本是 Pyqt5-5.13.0
打开 pycharm 2019.3.2
D:\PYTHON_ENV\py367_64_etc_add_oil\Scripts\
D:\PYTHON_ENV\py367_64_etc_add_oil\Lib\site-packages\pyqt5_tools\Qt\bin\designer.exe
qtdesigner
E:\pyqt\work\hello\venv\Lib\site-packages\pyqt5_tools\Qt\bin\designer.exe
$FileName$
$FileDir$
新建 ui文件的时候,另存为一下.另存为一个 带 ui扩展名的 文件 ,比如png_show.ui
而且再次打开的时候,也好打开.
pyuic5
E:\pyqt\work\hello\venv\Scripts\pyuic5.exe
$FileName$ -o $FileNameWithoutExtension$.py
$FileDir$
pyrcc
F:\trueconf\venv_py367_32\Scripts\pyrcc5.exe
$FileName$ -o $FileNameWithoutExtension$_rc.py
$FileDir$
PyQtWebEngine
用法:
翻译:请注意,对于v5.11及更高版本,32位Windows轮盘不包含WebEngine模块。
解决:
【方法一】 指定安装5.10.1版本的pyqt5
pip install pyqt5==5.10.1
【方法二】 单独安装WebEngine,安装命令为:
pip install PyQt5-tools5.13
pip install PyQt5-tools
pip install PyQtWebEngine -i https://pypi.douban.com/simple
pip install PyQtWebEngine5.13 -i https://pypi.douban.com/simple
pip install PyQtChart==5.13 -i https://pypi.douban.com/simple
pip install requests
pip install Pillow
项目搭建
pip install PyQt5-tools -i https://pypi.douban.com/simple
pip install openpyxl
pip install PySmartCard
pip install pyinstaller
出现问题:
FileNotFoundError: [WinError 2] 系统找不到指定的文件。: ‘C:\Users\JACK\AppData\Local\Temp_MEI98962\PySmartCard’
[9956] Failed to execute script app
2020-04-23 17:39:49,907 - mainModule
修改如下:
D:\PYTHON_ENV\py367_32_etc_consume\Lib\site-packages\PyInstaller\hooks
新建一个文件: hook-PySmartCard.py
内容为:
from PyInstaller.utils.hooks import collect_data_files
datas = collect_data_files("PySmartCard")
有遇到问题了:
File “site-packages\PySmartCard\CpuCard.py”, line 783, in init
File “site-packages\PySmartCard\CpuCard.py”, line 57, in init
File “ctypes_init.py”, line 426, in LoadLibrary
File “site-packages\PyInstaller\loader\pyiboot01_bootstrap.py”, line 153, in init__
main.PyInstallerImportError: Failed to load dynlib/dll ‘C:\Users\JACK\AppData\Local\Temp\MEI95402\PySmartCard\ReaderLib.dll’.
cation was frozen.
[9944] Failed to execute script app
进入目录:
D:\PYTHON_ENV\py367_32_etc_consume\Lib\site-packages\PySmartCard
全部复制到
E:\etc_consume\work\etc_card_consume\etc_card_consume\dist
目录下面:
然后 ,就可以执行了.app.exe了
pyinstaller -F -i “logo.ico” -p D:\PYTHON_ENV\py367_32_etc_consume\Lib\site-packages\PySmartCard app.py
这个 -p好像是没有起作用
pyinstaller -F -i "logo.ico" -p D:\PYTHON_ENV\py367_32_etc_consume\Lib\site-packages\PySmartCard;C:\Windows\System32 --add-data .\ticket_printer.dll;./ app.py
这个指令生成的
app.spec
如下
# -*- mode: python ; coding: utf-8 -*-
block_cipher = None
a = Analysis(['app.py'],
pathex=['D:\\PYTHON_ENV\\py367_32_etc_consume\\Lib\\site-packages\\PySmartCard', 'C:\\Windows\\System32', 'E:\\etc_consume\\work\\etc_card_consume\\etc_card_consume'],
binaries=[],
datas=[('.\\ticket_printer.dll', './')],
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False)
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
[],
name='app',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
upx_exclude=[],
runtime_tmpdir=None,
console=True , icon='logo.ico')
遇到问题:
MSVCP100D.dll 丢失 是因为 编译的 dll动态库是 debug版本,需要修改为release的版本.
更改pip源至清华、阿里镜像
windows下,直接在user目录中创建一个pip目录,如:C:\Users\xx\pip,新建文件pip.ini,内容如下
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
Pyinstaller打包出现UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xce in position 解决方案
解决方案
在你打包的命令行中先输入chcp 65001 然后再输入打包命令。
pyinstaller -F xxx.py
错误
pyinstaller\bincache00_py37_64bit\msvcp140.dll’
FileNotFoundError: [Errno 2] No such file or directory: 'C:\Users\jack\AppData\Roaming\pyinstaller\bincache00_py37_64bit\msvcp
FileNotFoundError: [Errno 2] No such file or directory: ‘C:\Users\jack\AppData\Roaming\pyinstaller\bincache00_py37_64bit\msvcp140.dll’
Cannot find (‘MSVCP140.dll’, ‘C:\Users\jack\AppData\Roaming\pyinstaller\bincache00_py37_64bit\msvcp140.dll’, 1, ‘b’)
RuntimeError: The WebAgg backend requires Tornado.
ModuleNotFoundError: No module named ‘tornado’
pip install tornado
pyinstaller -F -i “pic.ico” fan_company_control.py
ModuleNotFoundError: No module named ‘win32com’
pip install pywin32
Cannot find (‘MSVCP140.dll’, ‘C:\Users\jack\AppData\Roaming\pyinstaller\bincache00_py37_64bit\msvcp140.dll’, 1, ‘b’)
(稍后补充)