在Anaconda环境中,您可以使用以下方法来永久导入自己的模块,但不导入它们的“目录级兄弟模块”:
创建一个文件夹(例如“my_modules”),里面放置您的自定义模块,并在该文件夹中创建一个空文件:init.py。这个文件是必需的,以便Python将文件夹视为包。
添加以下代码到anaconda的.config文件夹下的一个名为“ipython”的文件夹的profile_default目录下的startup文件夹(即~/.ipython/profile_default/startup/)中的任意.py文件中:
import sys
import os
# 添加您自己的模块文件夹到sys.path中
module_path = os.path.abspath(os.path.join('path/to/my_modules'))
if module_path not in sys.path:
sys.path.append(module_path)
# 导入您自己的模块
import my_module
重启ipython shell或jupyter notebook即可(只需重启一次,以后每次打开都会自动导入您自己的模块)。
如果您需要在一个新项目中使用这个方法,请将上述代码添加到新项目的startup文件夹中的任意.py文件中。
这个方法的好处是它只会导入您自己的模块,而不会导入其他与您的模块在同一个文件夹中的模块,即使它们与您的模块有相同的名称。