Python 3.X(3.5/3.6)导入模块时出现Permission Error问题咨询
解决Python 3.5/3.6导入meshio时的权限错误
先看你给出的报错片段,核心问题就是权限不足,导致没法访问meshio相关的文件或目录——尤其是你Anaconda环境下的site-packages路径。下面几个办法应该能帮你解决,按顺序试试就行:
1. 修复Anaconda环境目录的权限
先确认你那个py35环境的site-packages目录权限是不是正常的,执行这条命令(把路径换成你自己的):
ls -ld /home/xxxxx/anaconda3/envs/py35/lib/python3.5/site-packages/
要是输出里的用户/组不是你当前登录的账号,或者没有读写权限,就用这两条命令修复:
sudo chown -R $USER:$USER /home/xxxxx/anaconda3/envs/py35/lib/python3.5/site-packages/ sudo chmod -R u+rw /home/xxxxx/anaconda3/envs/py35/lib/python3.5/site-packages/
这会把目录的所有权转成你自己的账号,同时给你完整的读写权限。
2. 用--user参数重新安装meshio
有时候安装时用了sudo,导致包的权限归了root,你没法访问。可以先卸载现有版本,再用--user参数安装:
pip uninstall meshio pip install --user meshio
--user参数会把包装到你个人用户目录下的site-packages,避开系统级的权限问题。
3. 确认Anaconda环境已经正确激活
说不定你没激活py35环境就安装/运行代码了,导致路径混乱。先激活环境再操作:
conda activate py35 pip install meshio # 要是之前安装有问题,重新装一次就行
激活完再试试导入:
import meshio as msh
4. 检查PyDev的权限设置
你用的是Eclipse的PyDev插件,说不定插件本身没权限访问Anaconda环境的目录。可以试试:
- 用管理员权限重启Eclipse(Linux下就是
sudo eclipse) - 去PyDev的解释器设置里,重新指定py35环境的Python路径,确保路径正确,而且PyDev能访问到
如果这些方法都不管用,建议把完整的报错信息贴出来,这样能更精准定位问题。不过目前这些步骤应该能解决大部分权限相关的导入问题了。
内容的提问来源于stack exchange,提问作者Gabs
相关产品推荐
相关产品推荐

