python 便攜化方法

python 便攜化

本教程所有截圖都以 Python 3.8.5 為范例

事先準備

  • 安裝版 python
  • zippython
  • 一個存放便攜版 python 的文件夾(文件夾名建議叫 python 并且以后不建議修改)愤惰,教程后續(xù)將稱之為 %python_path%
  • 一個后綴名為 bat 的文本文件
  • 十六進制修改器 ( 沒有現(xiàn)成的也可以下載我提供的這個 ) 密碼: 3zij

以上兩個版本的 python 都可以從 該地址 獲得

圖示

教程開始

步驟一:

  1. 安裝安裝版的 python
  2. 打開 我的電腦 在地址欄中輸入 %appdata%\..\Local\Programs\Python 并回車 圖示一
  3. 復制這個文件夾麸塞,粘貼到 %python_path% 中,如 圖示二
  4. 這時候我們安裝的 安裝版 python 已經(jīng)沒用了愧沟,你可以直接卸載它。注: 你可能需要同時卸載兩個 如 圖示零
圖示零
圖示一
圖示二

步驟二:

  1. 用壓縮軟件打開 zippython 的壓縮包
  2. 從中提取4個文件羽圃,它們的名字分別如下↓ 如 圖示三
    • pyexpat.pyd
    • select.pyd
    • unicodedata.pyd
    • winsound.pyd
  3. 這里倔既,你有兩個選擇,選擇其一操作即可:
    1. 將這四個 pyd 文件全部都直接復制到 %python_path%\python38\lib 中 (分的有點散褥影,就不放圖示了)
    2. 將這四個文件直接壓縮為一個zip壓縮文件,然后將壓縮文件更名為 python38.zip 如 圖示四
  4. 現(xiàn)在咏雌,zip 版的 python 已經(jīng)沒有用了凡怎,你可以直接將它刪除即可
圖示三
圖示四

步驟三:

說明:這時候,我們的便攜版python 其實已經(jīng)成型了赊抖,但是為了方便使用统倒,所以我們還需要做一些后續(xù)的準備,因此有了步驟三

  1. 把我們準備好的那個后綴名為 bat 的文件移動到 %python_path% 中 如 圖示五

  2. 用記事本打開這個準備好的 bat 文件,然后將以下文本復制到打開的記事本中并保存記事本

    @echo off
    if exist "%~dp0python.exe" set "PYTHON_PATH=%~dp0"
    if exist "%~dp0python\python.exe" set "PYTHON_PATH=%~dp0python"
    if exist "%~dp0python3\python.exe" set "PYTHON_PATH=%~dp0python3"
    if exist "%~dp0python38\python.exe" set "PYTHON_PATH=%~dp0python38"
    
    set "PATH=%PYTHON_PATH%;%PYTHON_PATH%\Scripts;%PYTHON_PATH%\DLLs;%PATH%"
    cmd
    
  3. 修改這個 bat 文件的名字為 python_path.bat

  4. 請選擇本步驟下屬的任意一個選項操作氛雪,只需要按其中一個步驟來操作即可:

      1. 使用十六進制修改器打開位于%python_path%\Python38\Scripts 下所有后綴名為.exe 的文件 如 圖示六
      2. 按照 圖示七 的提示逐個修改然后保存它們
      1. 在該 藍奏云, 密碼:ho4f 中下載分享的壓縮文件房匆,并將壓縮文件中的 exe 程序放置在 %python_path%\Python38\Scripts
      2. 啟動 python_path.bat 并在其中 運行 剛剛放到 %python_path%\Python38\Scripts 中的 exe 程序 如 圖示八
  5. 以后為 python 安裝的所有的包都需要注意是否有在 %python_path%\Python38\Scripts下增加新的 .exe 文件,如有增加都需要按 本小節(jié) 步驟6 的提示修改和保存报亩。而后就可以在命令行使用的時候前面不加python -m 了 如 原 pyinstaller 命令為 python -m PyInstaller xxx 修改過 pyinstall.exe 后命令為pyinstaller xxx

圖示五
圖示六
圖示七
圖示八

結(jié)尾與使用方法

教程到了這里坛缕,就已經(jīng)說明我們的 便攜版 python 已經(jīng)制作完畢了,下面是使用方法

使用方法與注意事項:

  • 用你的鼠標雙擊 python_path.bat 文件捆昏,在這個彈出的窗口中使用 python 即可

  • 如果你沒有修改 %python_path%\Python38\Scripts 下的 .exe 文件的話赚楚,安裝模塊不能使用 pip install xxxx來安裝,應(yīng)該使用python -m pip install xxxx來安裝骗卜,其他的如pyinstaller模塊同理 如 圖示八(安裝pyinstaller )

    這里有一點特別需要注意的地方: python -m 模塊名 參數(shù)模塊名大小寫敏感的宠页,如 pyinstaller , 如果使用 python -m pyinstaller xxxx 絕對報找不到模塊,你應(yīng)該使用 python -m PyInstaller 才能正常使用寇仓。如果你正確修改了 %python_path%\Python38\Scripts 下的 .exe 就不需要這么麻煩了举户,直接用 pyinstaller xxxx 就可以了

  • 如果你已經(jīng)修改了 %python_path%\Python38\Scripts 下的 .exe 文件的話,則不需要像上一點那么麻煩遍烦,所有被修改過的 .exe 文件都可以直接正常使用俭嘁,如 pip 例: pip install xxxx

圖示九

不使用 n++ 修改 %python_path%\Python38\Scripts

python 要求:不低于python3.5

#!python.exe

def modify(files):
    with open(files,"rb") as f:
        data = f.read().hex()
        exe_file = data[:211968]
        txt_file = data[211968:].split("504b03041400000000")[0]
        zip_file = f"504b03041400000000{data[211968:].split('504b03041400000000')[1]}"
    hl = "".join([exe_file, "#!python.exe\n\n\n".encode().hex(), zip_file])

    with open(files, "wb") as f:
        f.write(bytes.fromhex(hl))


if __name__ == "__main__":
    modify(input("要修改的exe文件所在路徑"))
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市服猪,隨后出現(xiàn)的幾起案子供填,更是在濱河造成了極大的恐慌拐云,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,042評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件近她,死亡現(xiàn)場離奇詭異叉瘩,居然都是意外死亡,警方通過查閱死者的電腦和手機粘捎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評論 2 384
  • 文/潘曉璐 我一進店門薇缅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人攒磨,你說我怎么就攤上這事泳桦。” “怎么了娩缰?”我有些...
    開封第一講書人閱讀 156,674評論 0 345
  • 文/不壞的土叔 我叫張陵灸撰,是天一觀的道長。 經(jīng)常有香客問我漆羔,道長梧奢,這世上最難降的妖魔是什么狱掂? 我笑而不...
    開封第一講書人閱讀 56,340評論 1 283
  • 正文 為了忘掉前任演痒,我火速辦了婚禮,結(jié)果婚禮上趋惨,老公的妹妹穿的比我還像新娘鸟顺。我一直安慰自己,他們只是感情好器虾,可當我...
    茶點故事閱讀 65,404評論 5 384
  • 文/花漫 我一把揭開白布讯嫂。 她就那樣靜靜地躺著,像睡著了一般兆沙。 火紅的嫁衣襯著肌膚如雪欧芽。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,749評論 1 289
  • 那天葛圃,我揣著相機與錄音千扔,去河邊找鬼。 笑死库正,一個胖子當著我的面吹牛曲楚,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播褥符,決...
    沈念sama閱讀 38,902評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼龙誊,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了喷楣?” 一聲冷哼從身側(cè)響起趟大,我...
    開封第一講書人閱讀 37,662評論 0 266
  • 序言:老撾萬榮一對情侶失蹤鹤树,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后护昧,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體魂迄,經(jīng)...
    沈念sama閱讀 44,110評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年惋耙,在試婚紗的時候發(fā)現(xiàn)自己被綠了捣炬。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,577評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡绽榛,死狀恐怖湿酸,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情灭美,我是刑警寧澤推溃,帶...
    沈念sama閱讀 34,258評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站届腐,受9級特大地震影響铁坎,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜犁苏,卻給世界環(huán)境...
    茶點故事閱讀 39,848評論 3 312
  • 文/蒙蒙 一硬萍、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧围详,春花似錦朴乖、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至雹食,卻和暖如春畜普,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背群叶。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評論 1 264
  • 我被黑心中介騙來泰國打工吃挑, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人盖呼。 一個月前我還...
    沈念sama閱讀 46,271評論 2 360
  • 正文 我出身青樓儒鹿,卻偏偏與公主長得像,于是被迫代替她去往敵國和親几晤。 傳聞我的和親對象是個殘疾皇子约炎,可洞房花燭夜當晚...
    茶點故事閱讀 43,452評論 2 348