我不确定我哪里错了,我已经尝试了其他问题中列出的一堆方法,所以我会重新询问,以防我遗漏了什么。
我有以下结构:
|-bin/
-file.py
|-unittests/
-__init__.py
|-test_bin/
-__init__.py
-test_file.py
我在 test_file.py
中尝试了以下内容,但没有成功:
1) 导入错误:没有名为 bin.file 的模块
from bin.file import *
2) 导入错误:没有名为 bin.file 的模块
import sys
from os import path
sys.path.append(path.dirname(path.dirname(path.abspath(__file__))))
from bin.file import *
3) ValueError: 尝试在非包中进行相对导入
from ...bin.file import *
我使用的命令是python test_file.py
最佳答案
为了使导入工作正常进行,您需要位于项目的根目录。
但是,您可以在包的根目录添加一个 setup.py 文件,该文件将允许您从任何地方导入函数(见下文):
安装.py:
from setuptools import setup
setup(
name='test',
version='0.1',
packages=['bin']
)
然后在项目的根目录运行以下 shell 命令:
python setup.py develop
通过这些步骤,您应该能够根据需要导入文件。
请注意,test.eff-info 文件夹是自动创建的。
希望对你有帮助
关于Python:从另一个位置导入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59565679/