linux提示模块不存在

我在本地上通过项目的根目录from coupon_content.etc.common import *
导入没有报错,部署到linux服务器上报错,我也每个目录加上了__init__.py文件,
请问这是什么问题导致的,望大牛指点...谢谢!

图片描述

阅读 4k
2 个回答

python里面import是有路径的,你可以查下相关资料,这里我简单说明下其中的一种:

当我有/home/a/main.py/home/b/utils.py文件时,此时我使用python /home/a/main.py运行该文件时,python会自动将/home/a/目录加到import的搜索路径里面,如果/home/a/main.py文件里面需要引用/home/b/utils.py里面的文件直接使用from b import utils是不行的,因为/home/b/没有在python的import路径里面。

解决办法有几种:
1,使用sys.path.append('你的包路径,对应你的项目应该是coupon_content的父级,假如说coupon_content目录是在/home/dir/目录下,那这里就是/home/dir')
2,使用相对路径引用;

目录层次没搞清,要导入的模块再上级目录的:

from ..etc.common import *
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏