我是一个计算机科学的一年级学生,目前正在做一个小项目,我保存到dropbox供学校使用。你知道吗
我为一个可能无关紧要的问题提前道歉。但是我几乎没有经验,在尝试了我所学的所有调试技术之后,我真的被卡住了!你知道吗
它具有以下文件结构
school_project/
__init__.py #(empty)
main_functions/
__init__.py #(empty)
render.py
filter.py
helper_functions/
__init__.py #(empty)
string.py
utility.py
目前,我需要使用在文件render.py
中的utility.py
中建立的函数。我解决这个问题的第一次尝试是在文件render.py
中执行import ..helper_functions.utility
。你知道吗
不幸的是,它遇到了以下错误消息。你知道吗
import ..helper_functions.utility
^
SyntaxError: invalid syntax
首先,我不知道为什么这个相对导入不起作用。你知道吗
第二,我应该使用绝对导入吗?以import school_project.helper_functions.utility
的形式?如果是这样,我是否需要将school_project/
当前所在的目录添加到PYTHONPATH?我该怎么做?你知道吗
我是否可以修改我的计算机的路径,而PYTHONPATH将相应地进行调整?或者它们是独立的实体,而且过程更复杂一些?我查看了其他线程,但它们似乎都在运行时修改python脚本本身的PYTHONPATH,我认为这是未来bug的巨大潜在来源。你知道吗
你应该这样做:
如果由于相对导入而正常运行python程序,这将不起作用。你知道吗
你应该这样做:
但它有点冗长,与#这样的shebang行不太协调!/usr/bin/envPython3。你知道吗
虽然它不是独一无二的。您的包结构更复杂。您需要将包含包目录的目录包含在PYTHONPATH中,并这样做。你知道吗
从mypackage.mymodule模块作为int导入
你也可以这样做。但初学者不建议这样做。 你先用这个把Python从代码里拖出来。。。你知道吗
政治公众人物8建议绝对进口:
至于
PYTHONPATH
,现在最好在您处理项目的每个终端会话中设置一次。一旦您继续使用像pycharm这样的IDE,它将自动为您管理相关问题 更多 >
编程相关推荐