在pip install varname 后,终端显示成功安装

查看 site-packages目录下也确实有 varname文件夹

却在pycharm中导包时 ,显示没有varname这个包

解决方法:(来自于 彻底告别python第三方包import导入问题!只需7行代码 - 知乎 (zhihu.com)

 python在import导入第三方包的时候,会默认搜索sys.path路径。sys.path是个列表对象,可通过简单的打印语句显示查看我们的import导入路径。

pip下载后的第三方包都统一放在lib下的site-packages文件夹下。

与我们打印出的import路径对比,不难发现,我们的import路径中并没有sit-packages的路径位置。所以,即使我们用pip下载好第三方包在本地,import的搜索路径中没有这个位置,编辑器当然就会报错。

找到问题的发生原因后,我们便可以开始解决问题了。思路就是:将第三方包的路径添加到import的默认搜索路径中。而sys.path又是个列表对象,我们通过append( )方法就可实现我们的需求,到此问题便可迎刃而解!

import sys
listone = sys.path
print("列表内容是:",listone)
sys.path.append('D:\\anaconda3\\Lib\\site-packages')
print("添加后:",listone)

代码结果:

 

运行以上代码后,再导入varname安装包就行了。

但是当重启编辑器时,会发现添加的路径已消失。可见append方法只能对当前有效,退出后便会失效!

为了永久添加到sys.path路径下,通过在python(anaconda)安装目录下新建.pth文件来解决,.pth里面的内容就是site-packags路径,实际上要在sys.path列表中的'D:\\anaconda3\\envs\\pythonProject\\lib\\site-packages'路径下新建这个.pth才可以(.pth的文件名随意,最好英文)

.pth文件中的内容就是site-packages的路径

 

这一步骤完成后,重新打开编辑器(pycharm)后,varname就可以顺利引用啦! 

不过做完这些后,因为我的文件中还有 import openpyxl 这个导包的代码,程序运行时出现了这个警告,还在研究中:

 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐