在安装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
>>>
我之前运行的安装报告已经成功完成,因此我希望导入能够正常工作。是什么导致了这个错误?
我一直在用脑袋撞显示器,直到一个年轻的实习生告诉我,秘诀是在模块目录中“python setup.py install”。
出于某种原因,从那里运行设置可以让它正常工作。
需要明确的是,如果你的模块名是"foo":
[burnc7 (2016-06-21 15:28:49) git]# ls -l
total 1
drwxr-xr-x 7 root root 118 Jun 21 15:22 foo
[burnc7 (2016-06-21 15:28:51) git]# cd foo
[burnc7 (2016-06-21 15:28:53) foo]# ls -l
total 2
drwxr-xr-x 2 root root 93 Jun 21 15:23 foo
-rw-r--r-- 1 root root 416 May 31 12:26 setup.py
[burnc7 (2016-06-21 15:28:54) foo]# python setup.py install
<--snip-->
如果您试图从任何其他目录通过调用其路径来运行setup.py,那么您最终会得到一个borked安装。
不工作:
python /root/foo/setup.py install
做的工作:
cd /root/foo
python setup.py install
这是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 /网站/
保存文件,重新启动终端,就完成了
就像一个朋友今天为我做的那样,下面是帮助我的方法(我正在使用Windows):
按“设置”->“项目”->“项目解释器”。在右边的窗口中,左边有一行标题为“Project Interpreter”。单击该行,它将打开其他几行。
现在按下“显示全部”行。一扇窗会打开。
在这个窗口中,按下右上角的小“+”符号。
将打开一个新窗口。在左边有4个标签,按最上面的一个,上面写着“Virtualenv环境”。
现在,在右边的窗口中,标记‘Existing Environment’选项。'Interpreter'行将变得清晰可见。按“…”’按钮在行右边。
现在,一个浏览窗口将打开。浏览到安装Python本身的目录。不是有PyCharm的那个。当你到达那里,选择'python.exe'文件并按OK(窗口将消失)。
再次按OK(此窗口也将消失)。
现在在这个窗口中,确保您创建的新行被标记,并再次按OK。
现在,所有安装的包都应该在项目解释器中可见,并由程序读取。