首页 > 解决方案 > 可执行文件在\python-XXX\scripts 创建?

问题描述

当我通过 pip(在 Windows 上)安装软件包时,例如 pip,会在scripts目录中创建一个或多个 Windows 可执行文件。

> PowerShell -NoProfile -ExecutionPolicy -Command "Invoke-WebRequest -Uri 'https://bootstrap.pypa.io/get-pip.py' -OutFile 'get-pip.py'" 
> python get-pip.py

Collecting pip
  Using cached pip-21.2.4-py3-none-any.whl (1.6 MB)
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 21.2.4
    Uninstalling pip-21.2.4:
      Successfully uninstalled pip-21.2.4
Successfully installed pip-21.2.4

> dir ..\python-3.8.5\scripts\pip*.exe
 Volume in drive C has no label.
 Volume Serial Number is 1837-4411

 Directory of \python\python-3.8.5\scripts

09/30/2021  08:18 AM            97,151 pip.exe
09/30/2021  08:18 AM            97,151 pip3.8.exe
09/30/2021  08:18 AM            97,151 pip3.exe
09/29/2021  03:52 PM            97,093 pipdeptree.exe
               4 File(s)        388,546 bytes

pip.exe、pip3.exe 和 pip3.8.exe 看起来都是某种 py2exe-ish,在可执行文件中嵌入了 Python 脚本。

什么是自动创建这些可执行文件?

嵌入式脚本使用了一个 shebang,它有一个硬编码的 python 可执行文件路径。我打算作为一个可移植的 Python 发行版被这个硬编码的路径所淹没(而不是仅仅指定python没有路径)。

可能重要或不重要的细节

有没有办法告诉 pip (或任何创建这些包装的可执行文件)在这方面表现不同?

标签: pythonwindows

解决方案


这些文件是使用 py2exe 创建的,其配置可以在项目的 setup.py 文件中找到。

有关更多信息,请参阅此链接:https ://python101.pythonlibrary.org/chapter40_py2exe.html


推荐阅读