执行python setup.py install时遇权限等错误无法完成安装
解决
python setup.py install的权限错误与弃用警告问题 一、别再用setup.py install了,换官方推荐的方式
setuptools已经明确弃用setup.py install命令,官方要求用PEP 517标准的工具(比如pip)来安装,这也能避免大部分权限问题:
- 直接在项目根目录执行:
默认会用用户级安装,绕过系统目录权限限制。pip install . - 要是需要先构建轮子再安装:
先装wheel包:
然后构建并安装:pip install wheelpython setup.py bdist_wheel pip install dist/*.whl
二、Windows Store版Python的权限坑
你用的是Windows Store安装的Python,它的安装目录(C:\Program Files\WindowsApps\...)是系统严格保护的,哪怕是管理员也没法直接写入,这是Store应用的安全机制导致的。给你三个解决方向:
- 用户级安装:执行
pip install .时加--user参数,包会装到你自己的用户目录(比如C:\Users\<你的用户名>\AppData\Roaming\Python\Python311\site-packages),完全不需要系统权限:pip install . --user - 用虚拟环境:创建一个虚拟环境,所有包都装在这个环境里,和系统目录无关:
# 创建虚拟环境 python -m venv venv # cmd里激活 venv\Scripts\activate.bat # PowerShell里激活 venv\Scripts\Activate.ps1 # 激活后直接装包 pip install . - 换官网版Python:卸载Store里的Python,去Python官网下载安装包,安装时勾选"Add Python to PATH",自定义安装目录选非系统盘(比如
C:\Python311),这样管理员账号就能正常写入site-packages了。
三、处理setuptools_scm的警告
如果项目用到了setuptools_scm,就在项目的pyproject.toml里加一段配置:
[tool.setuptools_scm] # 按需添加版本计算等配置
要是不需要这个工具,直接在setup.py里删掉相关依赖就行,警告不影响安装的话也可以忽略。
内容的提问来源于stack exchange,提问作者Jonathan
相关产品推荐
相关产品推荐

