最近用pycharm开发完了一些项目部署到树莓派上做测试的时候跑不起来,发现报错找不到自定义模块,记录下解决办法;
环境:
linux Debian
python3.7
由于我的树莓派上没有删除python2.7,是3.7和2.7共存的,启动python3.7我的命令是python3,只有一个版本的python环境就不用带指定版本号之类的了。
原理:
python启动会自动扫描sys.path路径下相关文件,文件夹中带有__init__.py的文件夹会被python认为是包,由于只会扫描指定路径下的文件夹,所以在其他地方存放的包,python不会认为他是有效的包,所以在import的时候会导入失败报错找不到模块
使用自定义模块方法有两种:
1、直接在sys.path路径中添加自定义包路径
2、新建一个pth结尾的文件,把自定义包的路径放入到这个文件中,而这个文件也是需要放到系统指定的路径下
其实两种方法原理都是在python自动扫描的路径下添加自定义包的路径让python能扫描到,只是实现方式不一样而已
具体操作
第一种:
1、启动python,例:python3
2、查看系统扫描路径:
import sys
sys.path
3、以上操作可以看到系统自动扫描的路径,在这里添加自己的路径,例:
我的包名是getinfo,路径是/app/uswgi/getinfo, 这里的getinfo文件夹不能直接放入,需要放