【发布时间】:2015-04-03 13:24:16
【问题描述】:
我正在尝试运行 docker 容器 child1 和 child2。 假设我们有:
更新
|parent
|-----|child1/
src_folder/
__init__.py
mod1.py
|-----|child2/
__init__.py
symlink_target_folder
mody.py
test1_dir/
smfile.py
我做过类似的事情
ln -rs ~/parent/child1/src_folder ~/parent/child2/symlink_target_folder
在mody.py的时候,
from symlink_target_folder import mod1
有效;
但是当我这样做时来自 test1_dir>smfile.py
from .child2.symlink_target_folder import mod1
它会抛出 ImportError。
我想知道如何从该目录访问同一个模块? 可以将 symlink_target_folder 导出到 PYTHONPATH 以某种方式解决。 我已经完成了
导出 PYTHONPATH=$PYTHONPATH:/symlink_target_folder
这样 ` 我可以从 mody.py
from symlink_target_folder.mod1 import SmFoo
但我不认为这是由于 PYTHONPATH。只是 symlink_target_folder 和 mody.py 在同一个文件夹中。
我该如何解决这个问题? 解决这个问题的更好方法是什么? 我做了check this out
【问题讨论】:
-
要确定您要问什么:问题是当您尝试使用命令@987654330 在目录
smfile.py中执行smfile.py时,脚本会抛出ImportError@对吗? -
喜欢
cd child2/test1_dir/ && python smfile.py对吗? -
@FunkySayu 如果我已将特定目录导出到 pythonpath,比如 X 文件夹,我可以从子文件夹中执行“从 X 导入 *”吗?在这种情况下,这将是 test1_dir,因为它似乎不起作用;
-
@FunkySayu 如果我已将特定目录导出到 pythonpath,比如 X 文件夹,我可以从子文件夹中执行“从 X 导入 *”吗?在这种情况下,这将是 test1_dir,因为它似乎不起作用;
-
答案已更新。经过测试,它可以工作。
标签: python python-2.7 docker fig