不使用setup.py时安装Python包如何启用user site功能?
解决方案
你可以根据实际场景选择以下任意一种适配方案,均符合当前Python官方的打包规范:
方案1:保留极简setup.py(兼容原有逻辑)
setup.cfg仅用来存放静态包元数据,官方并未完全禁止使用setup.py,你可以在项目根目录保留一个仅包含动态配置逻辑的极简setup.py,其余所有元数据仍放在setup.cfg中即可:
from setuptools import setup import site site.ENABLE_USER_SITE = True setup()
之后正常执行pip install --user -e .命令即可正常安装。
方案2:通过环境变量临时/永久开启
无需修改包内任何配置,通过环境变量控制user site启用状态:
- 单次安装临时生效,执行命令时添加前缀即可:
PYTHONNOUSERSITE=0 pip install --user -e . - 对当前用户永久生效,将以下配置写入
~/.bashrc(或你使用的shell对应的配置文件,如.zshrc):
重载配置后,所有Python环境都会默认开启user site功能。export PYTHONNOUSERSITE=0
方案3:配置pip默认启用user安装模式
在pip的用户配置文件~/.config/pip/pip.conf(不存在则新建)中添加以下内容:
[install] user = True
之后执行pip install -e .时会自动带上--user参数,默认触发user site启用逻辑,无需额外指定参数。
内容的提问来源于stack exchange,提问作者f10w
相关产品推荐
相关产品推荐

