导入错误:无法导入名称_remove_dead_weakref - 运行python script.py 时没有错误,从



我正在尝试导入一个需要sklearn的软件包。这是在名为 script.py 的测试脚本中。当我运行:python script.py allele_1时,我没有收到错误。但是,当我将此命令包含在 bash shell 脚本中时,如下所示:

#!/bin/bash
allele=($(ls $1 | grep H))
python script.py $allele

我收到以下错误

File "/home/jhuang/miniconda2/lib/python2.7/site- 
packages/mhcnuggets/src/dataset.py", line 12, in <mod                                                                                              
ule>
from sklearn.model_selection import train_test_split
File "/home/jhuang/miniconda2/lib/python2.7/site- 
packages/sklearn/__init__.py", line 20, in <module>
import logging
File "/home/jhuang/miniconda2/lib/python2.7/logging/__init__.py", line 26, in 
<module>
import sys, os, time, cStringIO, traceback, warnings, weakref, collections
File "/home/jhuang/miniconda2/lib/python2.7/weakref.py", line 14, in <module>
from _weakref import (
ImportError: cannot import name _remove_dead_weakref

我见过类似的问题,但没有看到明确的答案,也没有在命令行与 shell 脚本执行的上下文中看到任何问题。任何帮助将不胜感激!

这个问题可能是你已经安装了带有自制软件的python2,这与系统python版本冲突。尝试卸载python@2自制版本,您应该很高兴。

brew remove python@2 --ignore-dependencies

最新更新