我是熊猫图书馆的重度用户。为了保持与熊猫库相关的有用的定制帮助程序功能,我决定在其中创建一个定制项目(my_proj)和一个模块pandas.py。现在,我正在同一项目中开发另一个与ssh协议相关的自定义模块。
模块是用pycharm创建的。项目结构如下:
my_proj/src/my_proj/pandas.py
my_proj/src/my_proj/ssh.py
一切都很好,并且可以正常工作。当我想使用站点包的熊猫时,我执行import pandas as pd
,当我想使用my_proj熊猫时,我执行from my_proj import pandas as mypd
。
但是,现在在ssh.py中,我需要站点包的熊猫(不是my_proj熊猫)。如果在ssh.py中,我使用import pandas as pd
,则pycharm会导入my_proj/src/my_proj/pandas.py
,而不是从站点包中导入熊猫。
一种解决方案是将my_proj的pandas.py重命名为其他名称,但如果可能的话,我想避免这种情况。
还有另一种选择来阻止从当前目录加载库并从站点包中导入它吗?
我有什么选择?
我认为您可以确切地告诉python从哪个目录提取熊猫。从my_proj / src / my_proj / ssh导入熊猫。
最后,我将使用以下过程:
import sys
old_syspath = sys.path
sys.path = [path for path in sys.path if 'customspace' not in path]
import pandas as pd
sys.path = old_syspath
[基本上,我要从sys.path中删除'customspace',而不是导入熊猫并将sys.path放回原处。
我认为这是最小的更改,并且正在起作用。