在安装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
>>> 

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


当前回答

我已经通过pip安装了colorama,我得到了“ImportError: No module named colorama”

所以我用“find”搜索,找到了绝对路径,并像这样将它添加到脚本中:

import sys
sys.path.append("/usr/local/lib/python3.8/dist-packages/")
import colorama 

这招奏效了。

其他回答

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

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

这是python路径问题。

在我的例子中,我安装了python:

/Library/Frameworks/Python.framework/Versions/2.6/bin/python,

在python2.6中没有site-packages目录。

找到我用pip安装的包(SOAPpy)

/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/

并且site-package不在python路径中,我所做的只是将site-packages永久地添加到PYTHONPATH中。

打开终端 输入open .bash_profile 在弹出的文本文件中,在最后添加这行: 出口到PYTHONPATH = $ PYTHONPATH: /系统/图书馆/框架/ Python.framework /版本/ 2.6 / lib / python2.6 /网站/ 保存文件,重新启动终端,就完成了

也有这个问题。这个包安装在Python 3.8.0上,但是VS Code使用旧版本(3.4)运行我的脚本。

终端修复:

py . py

确保在正确的Python版本上安装包

我在使用Django时也遇到了类似的问题。在我的例子中,我可以从Django shell中导入模块,但不能从导入模块的.py中导入。 问题是我在安装模块的另一个virtualenv上运行Django服务器(因此,执行.py)。

相反,shell实例在正确的virtualenv中运行。这就是为什么它有效的原因。

我在尝试使用我通过sudo pip install keyring安装的keyring时遇到了这个问题。正如在其他答案中提到的,在我的情况下,这是一个权限问题。

对我有用的是:

卸载密匙环:

Sudo PIP卸载密匙环

我使用sudo的-H选项并重新安装密匙环:

sudo -H pip安装密匙环