无法导入肯定已安装的模块

2024-05-11 20:41:17 发布

您现在位置:Python中文网/ 问答频道 /正文

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

我已经试过从pip安装,easy_install,以及通过这个repo中的python setup.py install进行安装:https://github.com/abielr/mechanize。所有这些都没有用,因为每次我进入Python interactive时都会得到:

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
>>> 

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


Tags: installpippyhttpsgithubcomdefaulteasy
3条回答

我也遇到了同样的问题:带有import colorama的脚本正在抛出并导入错误,但是sudo pip install colorama告诉我“包已经安装”。

我的解决方案:在不使用sudo的情况下运行pippip install colorama。然后pip同意需要安装它,安装它,然后运行我的脚本。

我的环境是Ubuntu 14.0432位;我想我在激活virtualenv之前和之后都看到了这个。

更新:更好的方法是使用python -m pip install <package>。这样做的好处是,由于您正在执行您希望包所在的特定版本的python,pip将毫不含糊地将包安装到“正确的”python中。再说一遍,不要在这种情况下使用sudo。。。然后在正确的位置获取包,但可能具有(不需要的)根权限。

这是python路径问题。

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

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

python2.6中没有站点包目录。

pip安装的包(SOAPpy)位于

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

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

  1. 打开终端
  2. 键入open.bash_profile
  3. 在弹出的文本文件中,在末尾添加这一行:

    export PYTHONPATH=$PYTHONPATH:/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/

  4. 保存文件,重新启动终端,就完成了

对我来说,这是许可问题。这个包是以某种方式安装的,只有根rw权限,其他用户只是不能rw到它!

相关问题 更多 >