美文网首页
python 便携化方法

python 便携化方法

作者: ieew | 来源:发表于2020-10-31 16:57 被阅读0次

    python 便携化

    本教程所有截图都以 Python 3.8.5 为范例

    事先准备

    • 安装版 python
    • zippython
    • 一个存放便携版 python 的文件夹(文件夹名建议叫 python 并且以后不建议修改),教程后续将称之为 %python_path%
    • 一个后缀名为 bat 的文本文件
    • 十六进制修改器 ( 没有现成的也可以下载我提供的这个 ) 密码: 3zij

    以上两个版本的 python 都可以从 该地址 获得

    图示

    教程开始

    步骤一:

    1. 安装安装版的 python
    2. 打开 我的电脑 在地址栏中输入 %appdata%\..\Local\Programs\Python 并回车 图示一
    3. 复制这个文件夹,粘贴到 %python_path% 中,如 图示二
    4. 这时候我们安装的 安装版 python 已经没用了,你可以直接卸载它。注: 你可能需要同时卸载两个 如 图示零
    图示零 图示一 图示二

    步骤二:

    1. 用压缩软件打开 zippython 的压缩包
    2. 从中提取4个文件,它们的名字分别如下↓ 如 图示三
      • pyexpat.pyd
      • select.pyd
      • unicodedata.pyd
      • winsound.pyd
    3. 这里,你有两个选择,选择其一操作即可:
      1. 将这四个 pyd 文件全部都直接复制到 %python_path%\python38\lib 中 (分的有点散,就不放图示了)
      2. 将这四个文件直接压缩为一个zip压缩文件,然后将压缩文件更名为 python38.zip 如 图示四
    4. 现在,zip 版的 python 已经没有用了,你可以直接将它删除即可
    图示三 图示四

    步骤三:

    说明:这时候,我们的便携版python 其实已经成型了,但是为了方便使用,所以我们还需要做一些后续的准备,因此有了步骤三

    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 文件,如有增加都需要按 本小节 步骤6 的提示修改和保存。而后就可以在命令行使用的时候前面不加python -m 了 如 原 pyinstaller 命令为 python -m PyInstaller xxx 修改过 pyinstall.exe 后命令为pyinstaller xxx

    图示五 图示六 图示七 图示八

    结尾与使用方法

    教程到了这里,就已经说明我们的 便携版 python 已经制作完毕了,下面是使用方法

    使用方法与注意事项:

    • 用你的鼠标双击 python_path.bat 文件,在这个弹出的窗口中使用 python 即可

    • 如果你没有修改 %python_path%\Python38\Scripts 下的 .exe 文件的话,安装模块不能使用 pip install xxxx来安装,应该使用python -m pip install xxxx来安装,其他的如pyinstaller模块同理 如 图示八(安装pyinstaller )

      这里有一点特别需要注意的地方: python -m 模块名 参数模块名大小写敏感的,如 pyinstaller , 如果使用 python -m pyinstaller xxxx 绝对报找不到模块,你应该使用 python -m PyInstaller 才能正常使用。如果你正确修改了 %python_path%\Python38\Scripts 下的 .exe 就不需要这么麻烦了,直接用 pyinstaller xxxx 就可以了

    • 如果你已经修改了 %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文件所在路径"))
    

    相关文章

      网友评论

          本文标题:python 便携化方法

          本文链接:https://www.haomeiwen.com/subject/arnsvktx.html