wxPython kullanarak GUI ile bir uygulama yazıyorum. CentOS 7 ile iki makinem var. İlki bir inşaat makinesi ve diğeri temiz. Yapı makinesi mantıksal olarak kaynak derleme için her şeyi kurdu. Uygulamamın herhangi bir CentOS 7 makinesinde herhangi bir bağımlılık olmadan çalışacağını görmek istiyorum. Yani, işte problem.Pyinstaller - komut dosyasını tamamen bağımsız olarak derleyemiyor
Kaynak derleme ince bitirir, ama temiz makinede ikili çalıştırmayı denediğinizde, ben başlangıçta aşağıdaki hatayı alıyorum:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/usr/lib/python2.7/site-packages/PyInstaller/loader/pyimod03_importers.py", line 389, in load_module
File "gui.py", line 12, in <module>
File "/usr/lib/python2.7/site-packages/PyInstaller/loader/pyimod03_importers.py", line 389, in load_module
File "site-packages/wx-2.8-gtk2-unicode/wx/__init__.py", line 45, in <module>
File "/usr/lib/python2.7/site-packages/PyInstaller/loader/pyimod03_importers.py", line 389, in load_module
File "site-packages/wx-2.8-gtk2-unicode/wx/_core.py", line 4, in <module>
File "/usr/lib/python2.7/site-packages/PyInstaller/loader/pyimod03_importers.py", line 546, in load_module
ImportError: /tmp/_MEI6Ni7CP/libX11.so.6: undefined symbol: xcb_poll_for_reply64
main returned -1
Benim özellik dosyası şöyle görünür:
# -*- mode: python -*-
block_cipher = None
a = Analysis(['main.py'],
pathex=['/home/user/gui'],
binaries=None,
datas=[('images/icon.png', 'images'), ('images/logo.png', 'images'), ('images/head.jpg', 'images'), ('images/step_background.png', 'images')],
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher)
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
name='gui',
debug=False,
strip=False,
upx=True,
console=True) # Only for debug
Not: yum update
'u temiz makinede çalıştırdığımda her şey yolunda gidiyor, ancak sistem kitaplıklarında tamamen bağımsız olmasını istiyorum. Dolayısıyla, kullanıcının bir şeyi güncellemesi veya yüklememesi gerekmemelidir. Bu bağımlılığı uygulamanın kendisinde nasıl 'paketleyeceğimi' arıyorum, ama hangisini bilmiyorum.
Bunu nasıl çözebiliriz? teşekkür ederiz
Düzenleme: Büyük olasılıkla bu libxcb
kütüphane eksik/eski kaynaklanır, ancak yine de ikili içine paket nasıl hiçbir fikrim yok.