pyinstall打包问题

pyinstall打包问题

在使用pyinstall进行深度学习模型打包时经常会出现各种问题

问题一:RuntimeError: No such operator torchvision::nms

解决方式在生成的spec文件中的对应位置加上如下的内容:

datas=[('/root/miniconda3/lib/python3.6/site-packages/torch',"torch"),
('/root/miniconda3/lib/python3.6/site-packages/torchvision',"torchvision"),],
             hiddenimports=['torch','torchvision'],
问题二:ImportError: libGL.so.1
ubuntu中使用
sudo apt update
sudo apt install libgl1-mesa-glx

docker里面使用
apt update
apt install libgl1-mesa-glx
问题三:ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
export PATH=$PATH:/usr/local/cuda/bin
export CUDA_HOME=/usr/local/cuda
问题四:Traceback (most recent call last): File “logging\config.py”, line 390, in resolve ModuleNotFoundError: No module named ‘uvicorn.logging’
hiddenimports=['uvicorn.lifespan.off','uvicorn.lifespan.on','uvicorn.lifespan',
'uvicorn.protocols.websockets.auto','uvicorn.protocols.websockets.wsproto_impl',
'uvicorn.protocols.websockets_impl','uvicorn.protocols.http.auto',
'uvicorn.protocols.http.h11_impl','uvicorn.protocols.http.httptools_impl',
'uvicorn.protocols.websockets','uvicorn.protocols.http','uvicorn.protocols',
'uvicorn.loops.auto','uvicorn.loops.asyncio','uvicorn.loops.uvloop','uvicorn.loops',
'uvicorn.logging'],
pyinstall是一个用于将Python代码打包成可执行文件的工具,它可以将单个Python文件或者多个Python文件打包为一个独立的可执行文件,方便在没有Python环境的机器上运行。 在使用pyinstall打包多个文件时,可以使用.spec文件来指定需要打包文件打包后的配置。.spec文件是一个文本文件,可以使用Python脚本语法编写。 在.spec文件中,需要定义一个名称为`a`的Analysis类实例,以及需要打包Python文件或者模块。可以使用`coll`参数来指定需要打包文件,格式为`collporters`,其中`coll`是一个列表,每个元素都是文件或者模块的路径。例如: ``` coll = COLLECT(exe, a.binaries, a.zipfiles, a.datas, *collporters ) ``` 在collporters列表中,可以指定要打包文件或者文件夹的路径。例如: ``` collporters = [('path/to/file1', 'path/to/folder1'), ('path/to/file2', 'path/to/folder2')] ``` 上面的例子中,`path/to/file1`和`path/to/file2`分别是要打包文件路径,`path/to/folder1`和`path/to/folder2`则是打包后存放文件文件夹路径。 除了指定要打包文件外,还可以在.spec文件中对打包后的配置进行一些设置。例如: ``` a = Analysis(['your_script.py'], pathex=['your_source_folder'], binaries=[], datas=[('path/to/data', '.')], hiddenimports=['some_module'], hookspath=[], runtime_hooks=[], excludes=[], win_no_prefer_redirects=False, win_private_assemblies=False, cipher=None, noarchive=False,) ``` 在上面的例子中,`your_script.py`是要打包Python脚本文件,`your_source_folder`是脚本文件所在的文件夹路径。`('path/to/data', '.')`定义了要打包的数据文件的路径和打包后的存放位置。 通过这样设置.spec文件,可以将多个Python文件打包成一个可执行文件。在命令行中执行`pyinstall your_spec_file.spec`即可使用pyinstall进行打包
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值