site-packages is not writeable问题解决

  想当时一个not writeable问题让我删除和下载anaconda五遍,查了网上好多方法,各种用管理员权限和属性到安全硬是没解决。
 
 
是不是也遇到了下方的问题:

Defaulting to user installation because normal site-packages is not writeable
ERROR: Could not find a version that satisfies the requirement nilmtk (from versions: none)
ERROR: No matching distribution found for nilmtk

(是我当时下载nilmtk库时遇到的问题)
 

  我首先是使用这篇文章使用的方法,但是不知道为什么自己电脑一直会报错:
Defaulting to user installation because normal site-packages is not writeable错误解决方法

  后来想起操作系统命令行可以直接修改文件权限(chmod  777)就想试试powershell。

  • 首先通过按win键找到Windows PowerShell,以管理员身份运行,打开命令行
  • 知道自己拥有目标文件夹及其内容的所有权可以通过takeown命令完成(如果你确定文件的权限可以不用做这一步,我当时就跳过了)
takeown /F "C:\path\to\your\folder" /A /R

  /F 指定要更改所有权的目标路径
  /A 将所有者更改为管理员组
  /R 递归处理子文件夹/文件
 

  • 使用icacls命令为所需的用户或组分配完全控制权限
icacls "C:\path\to\your\folder" /grant Everyone:F /T /C /Q

  icacls 是用于显示或修改文件、目录或注册表键的安全描述符的命令行工具。
  /grant 参数用于添加新的访问控制条目(ACE)到安全描述符中。
  Everyone:F 表示授予“Everyone”用户组完全控制权限(F代表Full Control)。
  /T 表示递归地处理指定目录下的所有文件/子目录。
  /C 即使遇到错误也继续处理。
  /Q 安静模式,成功信息最后输出一条。
 
 
至此问题解决啦,这可太棒了!

### Python 中 `Defaulting to user installation` 的解决方案 当遇到 `Defaulting to user installation because normal site-packages is not writeable` 错误时,这通常是因为当前用户对系统的全局 `site-packages` 文件夹没有写入权限。以下是几种常见的解决方法: #### 方法一:以管理员身份运行命令提示符 通过提升权限来允许对全局 `site-packages` 文件夹的修改操作。具体做法是在 Windows 系统中右键点击命令提示符(CMD),选择“以管理员身份运行”,然后重新执行 `pip install` 命令[^2]。 #### 方法二:更改文件夹权限 可以手动调整系统中的 `site-packages` 文件夹权限,使其对当前用户可写。步骤如下: 1. 找到全局 `site-packages` 路径,通常是类似于 `C:\Program Files\PythonXX\Lib\site-packages`。 2. 右击该文件夹,进入属性设置 -> 安全选项卡。 3. 添加当前用户的完全控制权限[^2]。 #### 方法三:使用 `--system-site-packages` 参数 如果正在使用虚拟环境,则可以通过创建虚拟环境时指定参数 `--system-site-packages` 来共享全局包并避免此问题。例如: ```bash python -m venv myenv --system-site-packages ``` #### 方法四:切换至用户模式安装 虽然这不是严格意义上的解决问题的方法,但如果不想处理权限问题,可以选择接受默认行为,在用户目录下安装所需的库。这种方式不会影响其他用户或系统级配置: ```bash pip install package_name ``` 此时,默认会将库安装到类似 `C:\Users\<用户名>\AppData\Roaming\Python\PythonXX\site-packages` 的路径下。 #### 方法五:升级 pip 工具 有时旧版本的 pip 也可能引发此类问题,因此建议先更新 pip 到最新版再尝试安装新库: ```bash python -m pip install --upgrade pip ``` 以上便是针对 `Defaulting to user installation because normal site-packages is not writeable` 的多种应对策略[^1][^3]。 ### 注意事项 对于某些特定平台不支持的轮子(`wheel`)错误(is not a supported wheel on this platform),可能还需要确认目标库是否有适用于当前操作系统架构和 Python 版本的预编译二进制文件可用;如果没有的话则需考虑从源码构建或其他替代品[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值