1
kysida OP 找不到简单的办法目前只能用笨办法了。。。。~~~~(>_<)~~~~
BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) sys.path.append(BASE_DIR) |
2
csdreamdong 2016-09-19 11:36:16 +08:00
最大的根目录,是 auto 目录嘛?
感觉你这个 auto 目录就是一个包啊。 auto.public.library.Print 一直点下来不能么? |
3
kysida OP @csdreamdong 这个 auto 并不是根目录,在 test.py 里面使用 auto 提示 no module named auto
|
4
yangtukun1412 2016-09-19 16:32:51 +08:00
包内引用还是用 relative import 方便点. 修改 sys.path 的方式总感觉不是很优雅.
|
5
kinghui 2016-09-19 16:42:30 +08:00
没看到你描述如何运行的 test.py,猜测应是
$ cd bin/publish && python test.py 其实你的 auto 整个就是一个包, 如果你在 bin/publish/test.py 是通过如下方式导入 public/library/Print.py from auto.public.library import Print 那么其实你可以跳到上层目录执行: $ python -m auto.bin.publish.test 如果你是通过如下方式导入 from auto.public.library import Print 那么你可以执行 $ python -m auto.bin.publish.test 来运行. |
6
kinghui 2016-09-19 16:43:54 +08:00
@kinghui
修正一下 ----------- 如果你是通过如下方式导入 from auto.public.library import Print 那么你可以执行 $ python -m bin.publish.test 来运行. |
7
kysida OP @yangtukun1412 relative import 是优雅点,但是运用很容易出错
|