Saya mencoba untuk menempatkan gambar saya pada file terpisah kemudian exe saya KARENA Saya memiliki banyak gambar dan saya tidak ingin orang yang menggulir membuang ribuan gambar hanya untuk menemukan exe

Saya tidak tahu apakah saya kehilangan sesuatu di .spec . saya

Ini yang saya lakukan Saya membuat folder untuk gambar saya dan menambahkannya dan kemudian exe berada di luar folder gambar saya tetapi yang terjadi adalah tidak mendeteksi gambar di folder itu *apakah saya mengacaukan sesuatu pada file .spec saya?

enter image description here


# -*- mode: python ; coding: utf-8 -*-

block_cipher = None


a = Analysis(['tower.py'],
             pathex=['C:\\Users\\Habib\\Desktop\\AllMyGames\\TowerD'],
             binaries=[],
             datas=['C:\Users\Habib\Desktop\AllMyGames\TowerD\dist\image'],
             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='tower',
          debug=False,
          bootloader_ignore_signals=False,
          strip=False,
          upx=True,
          upx_exclude=[],
          runtime_tmpdir=None,
          console=False )


Itu akan berakhir hanya mengatakan

FAILED TO EXECUTE SCRIPT 
0
Habib Ismail 22 November 2020, 03:39

3 jawaban

Jawaban Terbaik

Seperti yang dikatakan @Multihunter bahwa jalurnya tidak lolos sehingga skrip gagal, inilah solusi paling sederhana untuk itu

Menggantikan

datas=['C:\Users\Habib\Desktop\AllMyGames\TowerD\dist\image']

Dengan

datas=[r'C:\Users\Habib\Desktop\AllMyGames\TowerD\dist\image']

Menambahkan r ke string Anda tidak akan luput dari karakter apa pun dan jalur Anda akan seperti yang Anda inginkan.

Lihat ini untuk referensi

3
xcodz-dot 29 Desember 2020, 10:16

Dua masalah yang saya lihat:

  1. String datas Anda berisi garis miring terbalik (karakter pelarian untuk string python), menghasilkan string yang tidak valid untuk jalur.
  2. Properti datas tidak terstruktur dengan benar.

Dari dokumen:

Daftar file data adalah daftar tupel. Setiap tuple memiliki dua nilai, keduanya harus berupa string:

  • String pertama menentukan file atau file seperti yang ada di sistem ini sekarang.
  • Yang kedua menentukan nama folder yang berisi file saat run-time.

https://pyinstaller.readthedocs.io/en/stable/spec-files.html#adding-data-files

Jadi, dengan asumsi root proyek Anda adalah C:\Users\Habib\Desktop\AllMyGames\TowerD, ubah

# Change this line
datas=['C:\Users\Habib\Desktop\AllMyGames\TowerD\dist\image']
# To this
datas=[('dist/image', 'image')]

Dan saya pikir itu akan berhasil.

3
Multihunter 23 Desember 2020, 01:30

Saya akan merekomendasikan Anda untuk memeriksa apakah gambar Anda dalam format ico, jika tidak gunakan :https://icoconvert.com Jika ini masih tidak berhasil, lakukan kembali prosesnya tetapi di promp cmd Anda, tulis 'pyinstaller -icon "File .ico Anda" dan project.py Anda'

-2
Jigsaw 25 Desember 2020, 18:35