在向PYTHONPATH添加路径之后,ImportError仍然存在

2024-06-02 10:15:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我在运行一些python代码时遇到以下错误

回溯(最近一次呼叫): 文件”/dspl.py公司“,第4行,英寸 进口基地 重要错误:没有名为base的模块

在显示在目录持久性长度中,如下所示。这个显示导入UTILS目录(如下所示)中的一些python脚本。我将导入目录(/home/vinay/oxDNA)的路径添加到PYTHONPATH,即export PYTHONPATH=${PYTHONPATH}:/home/vinay/oxDNA/)。在UTILS目录中有一个正确的\uu init_uu.py文件。在

在显示在目录:/home/vinay/oxDNA/EXAMPLES/PERSISTENCE_LENGTH中

在显示正在导入目录:/home/vinay/oxDNA/UTILS中的其他模块

当我打印时搜索路径,我能看出Python没问题。如下图所示 ['','/home/vinay','/home/vinay/oxDNA/UTILS','/usr/lib/python2.7','/usr/lib/python2.7/plat-linux2',)


Tags: 模块文件代码py路径目录homelib
1条回答
网友
1楼 · 发布于 2024-06-02 10:15:02

如果您的模块在一个目录中,而不是一个单独的命名文件,那么该目录需要有一个__init__.py文件。此文件的存在使目录成为模块,然后您可以从该模块加载,__init__.py可以为空,但也可以在其中包含一个条目:

__all__ = ['component_name1', 'etc', 'etc']

如果您这样做,__all__中列出的名称是在from mondule_name import *之后可用的名称

通常的做法是为目录指定一个有意义的名称,例如:“myutils”和目录中的组件,例如:“file”_io.py'然后您可以通过以下方式访问文件\u io中的项目:

^{pr2}$

或者

from my_utils import file_io
file_io.functionA()

或者

from my_utils.file_io import functionA()
functionA()

注意,在上面的所有示例中,functionA可以访问file_io.py中的其他函数,如果{}具有适当的导入,则可以访问my_utils中其他文件中的其他函数。在

同样重要的是要记住,即使在windows上,python也是依赖于大小写的。在

相关问题 更多 >