选择 embeddable package安装pytho3.12.x,pip及安装包无法引用的问题

最近需要定制一个纯净的Python运行环境+程序包,目标是:通过脚本一键运行,定制的python.exe,定制的软件安装包,与系统环境里的python隔离。

假设python安装目录为:python3.12.8

从官网上直接下载解压可用的绿色版,发现无法正常使用PiP
官网下载Python
https://www.python.org/downloads/

一:解决 pip 命令失败问题
        下载保存:get-pip.py
        运行命令:进入get-pip.py所在目录,运行:python.exe get-pip.py
        已安装pip、pip3等命令,但pip还是不可用。
        在执行命令:get-pip.py 时在\Lib\site-packages目录生成了几个包文件。

        将其添加到python3.12.x根目录python312.zip压缩包中,pip即可正常使用。

二:安装包

  python3.12.8/python.exe -m pip install -r requirements.txt

        虽然安装包都被安装在“python3.12.8/Lib/site-packages”下面,但是不能正常引用,这就需要自定义安装包位置了。

三:设置site和sys.path

在运行入口文件,一般是main.py最前面设置如下,再引用安装包就正常了。

import os
import sys
import site

current_path = os.path.abspath('.')
os.environ['ENABLE_USER_SITE'] = 'True'
os.environ['USER_SITE'] = current_path + '/python3.12.8/Lib/site-packages'  # 替换为你的路径
os.environ['USER_BASE'] = current_path + '/python3.12.8/Scripts'  # 替换为你的路径
site.main()

# 检查程序当前目录是否在 sys.path 中,如果不是则添加:
if current_path not in sys.path:
    # 将新项目路径添加到 sys.path 的末尾
    sys.path.append(current_path)

直接用定制python.exe启动即可

注意:

修改sys.path通常不是最佳做法,因为它可能会导致命名空间冲突,尤其是当添加的路径中包含与现有模块同名的模块时。更好的做法是使用包(package)和相对导入,或者使用site-packages目录来安装你的模块。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

才 神

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值