2024-04-19 23:28:26 发布
网友
我有以下目录结构:
application tests main.py main.py
application/main.py包含一些函数。
tests/main.py将包含我对这些函数的测试,但我无法导入顶级的main.py。我得到以下错误:
ImportError: Import by filename is not supported.
我正在尝试使用以下语法导入:
import main
我做错什么了?
如果希望脚本更易于移植,请考虑自动查找父目录:
import os, sys sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) # import ../db.py import db
必须将应用程序目录添加到您的路径:
import sys sys.path.append("/path/to/dir") from app import object
或来自壳牌:
setenv PATH $PATH:"path/to/dir"
如果您使用windows: 正在将变量添加到windows中的路径。
或从命令行:
set PATH=%PATH%;C:\path\to\dir
首先,通过添加__init__.py文件,您需要将目录放入包中:
__init__.py
application tests __init__.py main.py __init__.py main.py
然后,您应该确保应用程序上方的目录在sys.path上。有很多方法可以做到这一点,比如让应用程序进入一个包并安装它,或者只是在正确的文件夹中执行一些事情等等
sys.path
Then your imports will work.
如果希望脚本更易于移植,请考虑自动查找父目录:
必须将应用程序目录添加到您的路径:
或来自壳牌:
如果您使用windows: 正在将变量添加到windows中的路径。
或从命令行:
首先,通过添加
__init__.py
文件,您需要将目录放入包中:然后,您应该确保应用程序上方的目录在
sys.path
上。有很多方法可以做到这一点,比如让应用程序进入一个包并安装它,或者只是在正确的文件夹中执行一些事情等等Then your imports will work.
相关问题 更多 >
编程相关推荐