一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

PyCharm下如何打包程序成exe可執(zhí)行文件

 八戒Plus 2019-05-09

1、 首先,打開自己要發(fā)布的工程

2、 點(diǎn)擊底部的【Terminal】打開終端,中輸入命令pip install pyinstaller后回車,進(jìn)行安裝

3、輸入命令 pyinstaller,回車顯示安裝成功

4、pyinstaller -F -w alien_invasion.py封裝

遇到報(bào)錯(cuò)信息(原報(bào)錯(cuò)找不到了,網(wǎng)上找了類似的):

Traceback (most recent call last):

  File "C:\Users\user\Desktop\untitled1\venv\Scripts\pyinstaller-script.py", line 11, in  <module>

    load_entry_point('PyInstaller==3.4', 'console_scripts', 'pyinstaller')()

  File "C:\Users\user\Desktop\untitled1\venv\lib\site-packages\PyInstaller\__main__.py", line 111, in run

    run_build(pyi_config, spec_file, **vars(args))

  File "C:\Users\user\Desktop\untitled1\venv\lib\site-packages\PyInstaller\__main__.py", line 63, in run_build

    PyInstaller.building.build_main.main(pyi_config, spec_file, **kwargs)

  File "C:\Users\user\Desktop\untitled1\venv\lib\site- packages\PyInstaller\building\build_main.py", line 838, in main

    build(specfile, kw.get('distpath'), kw.get('workpath'), kw.get('clean_build'))   

  File "C:\Users\user\Desktop\untitled1\venv\lib\site- packages\PyInstaller\building\build_main.py", line 784, in build

    exec(text, spec_namespace)

  File "<string>", line 29, in <module>   

  File "C:\Users\user\Desktop\untitled1\venv\lib\site-packages\PyInstaller\building\api.py", line 424, in __init__

    strip_binaries=self.strip, upx_binaries=self.upx,   

  File "C:\Users\user\Desktop\untitled1\venv\lib\site-packages\PyInstaller\building\api.py", line 196, in __init__

    self.__postinit__()

  File "C:\Users\user\Desktop\untitled1\venv\lib\site-packages\PyInstaller\building\datastruct.py", line 158, in __postinit__

    self.assemble()   

  File "C:\Users\user\Desktop\untitled1\venv\lib\site-packages\PyInstaller\building\api.py", line 273, in assemble

    pylib_name = os.path.basename(bindepend.get_python_library_path())   

  File "C:\Users\user\AppData\Local\Programs\Python\Python37\lib\ntpath.py", line 214, in basename

    return split(p)[1]

  File "C:\Users\user\AppData\Local\Programs\Python\Python37\lib\ntpath.py", line 183, in split

    p = os.fspath(p)

 TypeError: expected str, bytes or os.PathLike object, not NoneType

解決方法:

在github這個(gè)頁面上https://github.com/Loran425/pyinstaller/tree/14b6e65642e4b07a4358bab278019a48dedf7460

下載所有文件,解壓后找到文件夾PyInstaller里的bindepend.py文件,然后copy替換    X:\xxx\venv\Lib\site-packages\PyInstaller\depend里的bindepend.py,其中X:\xxx為你自己電腦上的路徑,不同的個(gè)人電腦路徑可能不太一樣。

然后在pycharm Terminal 運(yùn)行命令:pyinstaller -F xx.py即可。xx為python文件名。

pyinstaller后面如果加上-F就是打包為一個(gè)exe文件(文件會比較大),如果不加就會有很多庫文件;加上-w就是打包為沒有cmd窗口的exe,不加運(yùn)行時(shí)就會出現(xiàn)cmd窗口。(加不加憑個(gè)人喜好)


在工程目錄下/dist文件夾中會有打包好的exe文件。

此時(shí)輸入命令 pyinstaller會報(bào)錯(cuò),但暫時(shí)沒發(fā)現(xiàn)影響封裝結(jié)果

5、打包后,運(yùn)行時(shí)閃退怎么辦?

問題出在pygame的字體設(shè)置代碼上,原來錯(cuò)誤的代碼如下:

font=pygame.font.Font(None,36)#導(dǎo)入字體

因?yàn)榇虬蟮膃xe找不到字體資源,所以就出錯(cuò)了。

將代碼替換為:

font=pygame.font.SysFont('arial',36)

這樣就能調(diào)用系統(tǒng)已有的字體,再次打包后運(yùn)行成功

 

注意事項(xiàng):

1、ship和alien圖片的路徑為相對路徑(為絕對路徑時(shí),改變文件路徑后找不到文件)

2、封裝后將images文件夾放到exe同一個(gè)目錄下,否則無法讀取數(shù)據(jù)

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    亚洲中文字幕综合网在线| 日本高清加勒比免费在线| 国产人妻熟女高跟丝袜| 日韩人妻免费视频一专区| 日本一本不卡免费视频| 99久久成人精品国产免费| 我想看亚洲一级黄色录像| 国产乱淫av一区二区三区| 欧洲亚洲精品自拍偷拍| 91人妻人人揉人人澡人| 亚洲国产另类久久精品| 东北老熟妇全程露脸被内射| 久热香蕉精品视频在线播放| 婷婷九月在线中文字幕| 国产精品免费自拍视频| 亚洲另类欧美综合日韩精品| 亚洲综合伊人五月天中文| 免费精品国产日韩热久久| 日本办公室三级在线观看| 插进她的身体里在线观看骚| 国产熟女一区二区三区四区| 99热在线播放免费观看| 亚洲天堂久久精品成人| 一区二区三区国产日韩| 91精品国产品国语在线不卡| 日本一级特黄大片国产| 亚洲av专区在线观看| 中文字幕乱码一区二区三区四区| 亚洲av一区二区三区精品| 国产亚洲欧美一区二区| 成人三级视频在线观看不卡| 国产成人精品在线播放| 激情亚洲一区国产精品久久| 福利一区二区视频在线| 91精品国产综合久久精品| 99久免费精品视频在线观| 沐浴偷拍一区二区视频| 欧美午夜伦理在线观看| 亚洲欧美中文字幕精品| 亚洲精品中文字幕无限乱码| 国产精品视频第一第二区|