Win7下Cygwin安装Python包遇权限问题及模块无法导入求助
解决Cygwin中Python包安装与导入的冲突问题
你的问题核心是Windows系统全局Python和Cygwin自带Python的环境路径冲突,导致pip默认指向了系统的Python2.7,而非Cygwin的Python3.6,后续的复制操作也因为路径映射错误没生效。下面是一步步的解决方法:
1. 确认并修正环境路径优先级
首先要确保Cygwin的Python和pip是终端默认调用的版本:
- 在Cygwin控制台执行以下命令,查看当前使用的Python和pip路径:
which python which pip - 如果输出是类似
/cygdrive/c/Python27/python.exe的系统路径,说明Windows的Python路径在环境变量里优先级更高。 - 解决方法:
- 打开Windows的「系统属性」→「高级」→「环境变量」
- 在「系统变量」的
Path中,把Cygwin的bin目录路径(比如C:\cygwin\bin)移到C:\Python27和C:\Python27\Scripts的前面 - 重启Cygwin终端,再次执行
which python和which pip,确认路径变为Cygwin的/usr/bin/python3和/usr/bin/pip3
2. 用Cygwin的pip正确安装包
确认路径正确后,直接用Cygwin的pip安装包,避免权限问题可以用--user参数(安装到用户目录,无需管理员权限):
pip3 install --user aloe
安装完成后执行pip3 list确认包存在,此时运行导入aloe的脚本应该就能正常工作了。
3. 修复之前的复制操作(可选)
如果你想把已安装到系统Python的包迁移到Cygwin,不要在cmd里执行命令,要在Cygwin终端里用Cygwin的路径格式操作:
cp -r /cygdrive/c/Python27/Lib/site-packages/aloe /usr/lib/python3.6/site-packages/
执行后再用ls /usr/lib/python3.6/site-packages就能看到aloe目录了。
4. 权限问题的额外处理
如果还是遇到权限报错:
- 检查Cygwin安装目录的Windows权限:右键
C:\cygwin→「属性」→「安全」,确保你的管理员账户拥有「完全控制」权限 - 也可以在Cygwin终端修改Python包目录的权限:
chmod -R 755 /usr/lib/python3.6/site-packages
内容的提问来源于stack exchange,提问作者ludog
相关产品推荐
相关产品推荐

