诊断
似乎有(或曾经有)另一个Python 3.6
PATH,而且我怀疑Conda依赖解析器最终以某种方式将某些软件包解析为该替代方案,
site-packages并且无意中将该目录包含在中
sys.path。这似乎是一个已知问题。
证据
我相信这是因为
pandas正在从此处加载模块:
/home/torstein/.local/lib/python3.6/site-packages/pandas
如果您签入Python
import syssys.path
我希望这应该显示上面的目录。
由于据报道它
PYTHONPATH是空的(应该是空的!),所以不能造成这种错误加载,因此我认为正是Conda以某种方式配置了env。
另外,您的Python 3.7 env不受影响的事实很可能是因为您无法跨不同的次要版本加载模块。
立即解决
您需要以某种方式摆脱这种依赖性。有几件事可以尝试
/home/torstein/.local/
从您的档案中删除PATH
。但是,这可能会导致其他问题。大概是PATH
因为里面有其他非开发性的东西。- 专门转储该
site-packages
目录。在评论中,有人说这是不再使用的全局Python安装的残余,因此摆脱它似乎是一件好事。但是,请备份它,以防其他依赖项。 - 从
sys.path
导入模块之前清除此路径。不确定这样做的干净方法。
就个人而言,我想将其删除并创建新的环境。很难知道您与该目录有多紧密联系,因此我要谨慎地假设其他软件包对其中的内容没有隐藏的依赖性。
长期解决方法
GitHub问题的建议解决方法是添加以下环境变量,
export PYTHonNOUSERSITE=True
这样可以防止Conda加载其他本地
site-packages目录。这样一来,您本来就不会遇到问题。



