在安装mechanize后,我似乎无法导入它。

我已经尝试从pip、easy_install和通过python setup.py从这个repo安装:https://github.com/abielr/mechanize。所有这些都无济于事,因为每次我输入Python交互时,我得到:

Python 2.7.3 (default, Aug  1 2012, 05:14:39) 
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import mechanize
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named mechanize
>>> 

我之前运行的安装报告已经成功完成,因此我希望导入能够正常工作。是什么导致了这个错误?


当前回答

我有类似的问题(在Windows上),根本原因在我的情况下是杀毒软件!它有“自动遏制”功能,用某种虚拟机包装正在运行的进程。 症状是:pip安装someemodule在一个cmd行窗口中正常工作,从另一个进程执行时导入someemodule失败,并出现错误

ModuleNotFoundError: No module named 'somemodule'

其他回答

Python导入机制确实有效,所以:

你的PYTHONPATH是错误的, 您的库没有安装在您认为的位置 您有另一个具有相同名称的库来掩盖这个库

在重新定位的虚拟环境(venv)中也会出现此问题。

我有一个项目,在根目录中设置了venv。后来我创建了一个新用户,并决定将项目移动到这个用户。我没有只移动源文件并重新安装依赖项,而是将整个项目连同venv文件夹一起移动到新用户。

在此之后,我安装的依赖项被添加到全局site-packages文件夹中,而不是venv中的文件夹中,因此在这个env中运行的代码无法访问这些依赖项。

要解决这个问题,只需删除venv文件夹并重新创建它,如下所示:

$ deactivate
$ rm -rf venv
$ python3 -m venv venv
$ source venv/bin/activate
$ pip install -r requirements.txt

就像一个朋友今天为我做的那样,下面是帮助我的方法(我正在使用Windows):

按“设置”->“项目”->“项目解释器”。在右边的窗口中,左边有一行标题为“Project Interpreter”。单击该行,它将打开其他几行。

现在按下“显示全部”行。一扇窗会打开。 在这个窗口中,按下右上角的小“+”符号。

将打开一个新窗口。在左边有4个标签,按最上面的一个,上面写着“Virtualenv环境”。 现在,在右边的窗口中,标记‘Existing Environment’选项。'Interpreter'行将变得清晰可见。按“…”’按钮在行右边。

现在,一个浏览窗口将打开。浏览到安装Python本身的目录。不是有PyCharm的那个。当你到达那里,选择'python.exe'文件并按OK(窗口将消失)。

再次按OK(此窗口也将消失)。

现在在这个窗口中,确保您创建的新行被标记,并再次按OK。

现在,所有安装的包都应该在项目解释器中可见,并由程序读取。

也许有点跑题了,但我在导入PyYAML时遇到了问题。指出你需要导入yaml。(我猜是经典的rtfm…)

检查您在IDE或代码编辑器的解释器和系统上使用的python版本是否相同。 例如,在终端中使用python3——version检查python版本 并在VSCode中通过cmd+shift+p->检查解释器的python版本:Select interpreter ->选择与您在终端中看到的相同的版本。