Python的.exe安装没有目录的时候看这里

本文提供了一个简单的Python脚本,用于自动注册Python环境变量至Windows注册表。通过执行此脚本,可以确保Python及其相关库能在Windows系统上正确运行。

将下面的代码创建一个文件register.py并执行即可解决:

#
# script to register Python 2.0 or later for use with win32all
# and other extensions that require Python registry settings
#
# written by Joakim Loew for Secret Labs AB / PythonWare
#
# source:
# http://www.pythonware.com/products/works/articles/regpy20.htm
#
# modified by Valentine Gogichashvili as described in http://www.mail-archive.com/distutils-sig@python.org/msg10512.html
 
import sys
 
from _winreg import *
 
# tweak as necessary
version = sys.version[:3]
installpath = sys.prefix
 
regpath = "SOFTWARE\\Python\\Pythoncore\\%s\\" % (version)
installkey = "InstallPath"
pythonkey = "PythonPath"
pythonpath = "%s;%s\\Lib\\;%s\\DLLs\\" % (
    installpath, installpath, installpath
)
 
def RegisterPy():
    try:
        reg = OpenKey(HKEY_CURRENT_USER, regpath)
    except EnvironmentError as e:
        try:
            reg = CreateKey(HKEY_CURRENT_USER, regpath)
            SetValue(reg, installkey, REG_SZ, installpath)
            SetValue(reg, pythonkey, REG_SZ, pythonpath)
            CloseKey(reg)
        except:
            print "*** Unable to register!"
            return
        print "--- Python", version, "is now registered!"
        return
    if (QueryValue(reg, installkey) == installpath and
        QueryValue(reg, pythonkey) == pythonpath):
        CloseKey(reg)
        print "=== Python", version, "is already registered!"
        return
    CloseKey(reg)
    print "*** Unable to register!"
    print "*** You probably have another Python installation!"
 
if __name__ == "__main__":
    RegisterPy()


为了完善一个用于设置嵌入式 Python 环境的批处理脚本,其中 `python.exe` 位于当前目录下的 `python` 文件夹中,需要考虑路径设置、环境变量配置、依赖安装以及 `pip` 的可用性问题。 嵌入式 Python 默认不包含 `site` 模块的自动加载,因此需要修改 `python311._pth` 文件以启用路径加载功能。该文件位于嵌入式 Python 解压目录中,用于指定解释器搜索模块的路径。将文件中原本被注释掉的 `import site` 行取消注释,并添加项目所需路径,例如: ``` python311.zip . ..\src ..\site-packages import site ``` 此配置确保了解释器能够正确识别项目源码和第三方库路径[^1]。 接下来,批处理脚本应设置 `PYTHONPATH` 和 `PATH` 环境变量,使得 Python 解释器和 `pip` 能够被正确调用。以下是完整的批处理脚本示例: ```bat @echo off setlocal :: 设置 Python 解释器路径 set PYTHON_DIR=%CD%\python set SITE_PACKAGES=%CD%\site-packages :: 创建必要目录 if not exist "%PYTHON_DIR%" mkdir "%PYTHON_DIR%" if not exist "%SITE_PACKAGES%" mkdir "%SITE_PACKAGES%" :: 设置环境变量 set PYTHONPATH=%CD% set PATH=%PYTHON_DIR%;%PYTHON_DIR%\Scripts;%SITE_PACKAGES%;%PATH% :: 安装 pip(如果尚未安装) if not exist "%PYTHON_DIR%\Scripts\pip.exe" ( echo Installing pip... "%PYTHON_DIR%\python.exe" get-pip.py ) :: 升级 pip 并安装依赖 echo Upgrading pip... "%PYTHON_DIR%\python.exe" -m pip install --upgrade pip echo Installing required packages... "%PYTHON_DIR%\python.exe" -m pip install --target "%SITE_PACKAGES%" requests endlocal ``` 该脚本首先设置 `PYTHON_DIR` 指向当前目录下的 `python` 文件夹,并确保 `site-packages` 目录存在。随后设置 `PYTHONPATH` 和 `PATH` 以确保 Python 解释器和 `pip` 可用。如果检测到 `pip.exe` 不存在,则执行 `get-pip.py` 进行安装。最后升级 `pip` 并安装所需的第三方库到 `site-packages` 目录中[^2]。 若需进一步优化嵌入式 Python 的模块加载能力,可以在解释器根目录创建 `sitecustom.py` 文件,并在其中添加自定义路径加载逻辑: ```python import os import sys root_path = os.path.dirname(__file__) sys.path.append(os.path.join(root_path, "site-packages")) ``` 这样可以确保解释器在启动时自动加载指定的模块路径[^4]。 ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值