持续集成 [持续集成] python 项目执行时遇到的问题

季谦 · 2019年09月27日 · 最后由 风雨夜阑听 回复于 2019年09月29日 · 2082 次阅读

Traceback (most recent call last):
File "run_test.py", line 3, in
from util.loggen import Logger
ImportError: No module named util.loggen
Build step 'Execute shell' marked build a

就是我的项目是放在 git 上的,然后在构建执行 run_test.py 文件后,报错了,就是我自己写的包,不能被 import

共收到 3 条回复 时间 点赞
仅楼主可见
季谦 · #2 · 2019年09月28日 Author
仅楼主可见

python 的命令行执行的时候,能找到的包跟你的执行路径有关系。
它会从你的当前执行命令的目录平级以及当前目录的子孙找,你这个执行位置的爷爷及以上,是找不到的。
解决办法:

  1. 你这 run_test.py 目录,放到你的项目根目录下,那找模块的时候,你自己的模块一般都在项目根目录及以下,这基本没问题。
  2. 设置 PYTHONPATH 这个环境变量,指向你的代码工程根目录或者里面包含你的项目根目录,也可以。
  3. 还可以在你调用其他方法的文件中,把你的被调模块加到 sys.path 中 (我个人不喜欢这个,因为我觉得工作量太大,但确实是个可行思路)

你在 IDE 里创建 python 工程的时候,默认把你这个工程路径加到 PYTHONPATH 里了,所以 IDE 里是可以的,命令行不行。
希望可以帮到你。😂

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册