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

季谦 · September 27, 2019 · Last by 风雨夜阑听 replied at September 29, 2019 · 545 hits

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 条回复 时间 点赞
Author only
季谦 · #2 · September 28, 2019 作者
Author only

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

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

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

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up