Python合集(四):python导包找不到路径终极解决办法

问题

linux环境下
/opt/python3/bin/python3 demo.py 运行python文件 导包from xxx 报错 ModuleNotFoundError: No module named ‘xxx’

终极解决思路

方式一 在demo.py中加代码
找不到谁 就在demo.py内
import sys
import os
sys.path.append(“谁的爹目录”)

并且 每个python目录下都要有__init__.py文件 内容可以是空的

方式二 在python3的安装包目录中加环境变量文件
在/opt/python3/lib/python3.6/site-packages下
vi 自定义名.pth
内容

/opt/wsy/es_new # 就是项目的绝对目录

并且 每个python目录下都要有__init__.py文件 内容可以是空的 python才会认为你这个目录是个包 而不是单纯的目录

方式一 具体步骤

在demo.py中
增加
import sys
import os
sys.path.append( os.path.split(os.path.realpath(file))[0]+"/…/")

并且 每个python目录下都要有__init__.py文件 内容可以是空的 python才会认为你这个目录是个包 而不是单纯的目录

效果是 demo.py能找到爷爷目录 就能用爷爷目录中你原来导不了包的xxx了 ; 你导包时报错 找不到谁 就把谁的爹目录加进环境变量sys.path.append(“找不到包的爹目录”)

方式二 具体步骤

0.找到这个python3的安装目录

$ whereis python3
$ which python3

如 我的是 /opt/python3/bin/python3

1.进入site-packages中

$ cd /opt/python3/lib/python3.6/site-packages

2.新增文件xxx.pth 声明项目目录

$ vi wsyworkpath.pth

内容如下 就是你的项目根目录

/opt/wsy/es_new
测试
$ /opt/python3/bin/python3
$ import sys
$ sys.path # 结果最后一个就是你添加的项目根目录

Python合集(四):python导包找不到路径终极解决办法_第1张图片

效果

用 /opt/python3这个python 去执行demo.py文件 就没有导包找不到路径的问题了

$ /opt/python3/bin/python3 demo.py

你可能感兴趣的:(Python,python)