PyDev中已安装pyelastix仍报ImportError问题排查求助
解决PyDev中无法导入pyelastix的问题
Hey,我来帮你排查这个PyDev导入pyelastix的问题~你在CLI里能正常导入但PyDev报错,核心问题大概率是pyelastix没装到你指定的cv虚拟环境里,或者PyDev没正确识别虚拟环境的模块路径,咱们一步步来解决:
第一步:确认虚拟环境里真的装了pyelastix
先激活你的cv虚拟环境:
source /home/username/.virtualenvs/cv/bin/activate
然后执行这个命令看看列表里有没有pyelastix:
pip list | grep pyelastix
如果看不到结果,那问题就找到了——你之前用sudo执行pip安装,会直接绕开虚拟环境,把模块装到系统Python的路径里,而不是cv虚拟环境的site-packages里。因为sudo会切换到root用户,此时用的pip是系统级的,和你激活的虚拟环境完全无关。
正确的安装姿势是:激活虚拟环境后,不用sudo直接装:
pip install pyelastix
要是安装时提示权限不足,那可能是你的虚拟环境目录权限不对,先执行这个修正权限:
sudo chown -R username:username /home/username/.virtualenvs/cv
然后再重新安装pyelastix就行。
第二步:让PyDev重新识别虚拟环境的模块
就算你把模块装对了,PyDev有时候不会自动扫描新安装的模块,得手动刷新配置:
- 打开Eclipse,依次点
Window > Preferences > PyDev > Interpreters > Python Interpreter - 找到你配置的那个
/home/username/.virtualenvs/cv/bin/python3.5解释器,选中它 - 你可以先点
Remove把它删掉,再重新点击New添加这个路径,让PyDev重新扫描所有模块;或者直接点Apply触发刷新 - 扫描完成后,切到
Libraries标签,确认能看到pyelastix的路径(应该是/home/username/.virtualenvs/cv/lib/python3.5/site-packages/pyelastix)
第三步:检查项目的PYTHONPATH配置
你的PYTHONPATH只设了/${PROJECT_DIR_NAME}没问题,但要确保虚拟环境的site-packages被加到项目路径里:
- 右键你的项目 >
Properties > PyDev - PYTHONPATH - 切换到
External Libraries标签,看看cv虚拟环境的site-packages是不是已经在列表里了。如果没有,手动点Add source folder,选择/home/username/.virtualenvs/cv/lib/python3.5/site-packages添加进去
最后验证
重启一下Eclipse,再打开你的Python文件试试import pyelastix,应该就能正常导入啦~
内容的提问来源于stack exchange,提问作者smcs
相关产品推荐
相关产品推荐

