pyinstaller在Shotgun API模块中创建的可执行文件失败(Shotgun_api3/lib/httplib2/python3/__init_;.py)
我创建了一个小型的、独立的python工具,在PyQT(PySide2模块)中创建了一个用户界面窗口 我正在使用pyinstaller创建一个独立的可执行文件,但每当我尝试运行该可执行文件时,都会得到以下回溯:pyinstaller在Shotgun API模块中创建的可执行文件失败(Shotgun_api3/lib/httplib2/python3/__init_;.py),python,pyinstaller,shotgun,Python,Pyinstaller,Shotgun,我创建了一个小型的、独立的python工具,在PyQT(PySide2模块)中创建了一个用户界面窗口 我正在使用pyinstaller创建一个独立的可执行文件,但每当我尝试运行该可执行文件时,都会得到以下回溯: Traceback (most recent call last): File "artintegration.py", line 38, in <module> class SGInteract(): File "artinte
Traceback (most recent call last):
File "artintegration.py", line 38, in <module>
class SGInteract():
File "artintegration.py", line 54, in SGInteract
sg = shotgun_api3.Shotgun(sgURL, login=sgLogin, password=sgPass)
File "shotgun_api3\shotgun.py", line 677, in __init__
File "shotgun_api3\shotgun.py", line 721, in server_caps
File "shotgun_api3\shotgun.py", line 776, in info
File "shotgun_api3\shotgun.py", line 3232, in _call_rpc
File "shotgun_api3\shotgun.py", line 3372, in _make_call
File "shotgun_api3\shotgun.py", line 3426, in _http_request
File "shotgun_api3\lib\httplib2\python3\__init__.py", line 1763, in request
File "shotgun_api3\lib\httplib2\python3\__init__.py", line 1239, in __init__
File "shotgun_api3\lib\httplib2\python3\__init__.py", line 194, in _build_ssl_context
FileNotFoundError: [Errno 2] No such file or directory
无论我使用“一个目录”(-onedir)还是“一个文件”(-onefile)选项,都会发生这种情况
我想它可能找不到ShotgunAPI的“cacerts.txt”文件,所以我尝试将该文件添加到数据文件列表中,但没有任何区别
我的“.spec”文件如下所示:
# -*- mode: python ; coding: utf-8 -*-
block_cipher = None
a = Analysis(['artintegration.py'],
pathex=['Q:\\Shared drives\\wavexr\\assets\\scripts\\tools\\artintegration'],
binaries=[],
datas=[('C:\\Users\\Mike\\AppData\\Local\\Programs\\Python\\Python37\\Lib\\site-packages\\shotgun_api3-3.2.4-py3.7.egg\\shotgun_api3\\lib\\httplib2\\python3\\cacerts.txt', 'shotgun_api3')],
hiddenimports=['xmlrpc', 'xmlrpc.client'],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=True)
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz,
a.scripts,
[('v', None, 'OPTION')],
exclude_binaries=True,
name='artintegration',
debug=True,
bootloader_ignore_signals=False,
strip=False,
upx=True,
console=False )
coll = COLLECT(exe,
a.binaries,
a.zipfiles,
a.datas,
strip=False,
upx=True,
upx_exclude=[],
name='artintegration')
这是我(最近)运行的命令:
非常感谢您的帮助
# -*- mode: python ; coding: utf-8 -*-
block_cipher = None
a = Analysis(['artintegration.py'],
pathex=['Q:\\Shared drives\\wavexr\\assets\\scripts\\tools\\artintegration'],
binaries=[],
datas=[('C:\\Users\\Mike\\AppData\\Local\\Programs\\Python\\Python37\\Lib\\site-packages\\shotgun_api3-3.2.4-py3.7.egg\\shotgun_api3\\lib\\httplib2\\python3\\cacerts.txt', 'shotgun_api3')],
hiddenimports=['xmlrpc', 'xmlrpc.client'],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=True)
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz,
a.scripts,
[('v', None, 'OPTION')],
exclude_binaries=True,
name='artintegration',
debug=True,
bootloader_ignore_signals=False,
strip=False,
upx=True,
console=False )
coll = COLLECT(exe,
a.binaries,
a.zipfiles,
a.datas,
strip=False,
upx=True,
upx_exclude=[],
name='artintegration')
pyinstaller --onedir --windowed --debug all -y artintegration.spec