我已经安装了一些python包,我可以使用IDLE而不是通过command shell窗口访问它们。
以下是空闲时的输出:
Python 2.7.2+ (default, Oct 4 2011, 20:03:08)
[GCC 4.6.1] on linux2
Type "copyright", "credits" or "license()" for more information.
==== No Subprocess ====
>>> import whoosh
这是我终端的输出:
pradeep@ubuntu:~$ python
Python 2.7.2 (default, Nov 28 2011, 23:56:33)
[GCC 4.6.1] on linux3
Type "help", "copyright", "credits" or "license" for more information.
>>> import whoosh
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named whoosh
如何将终端python指向空闲python包?为什么终端显示“linux3”,而空闲显示“linux2”?请帮助我解决这个路径问题。谢谢。
更新1:
谢谢大家。像你们大多数人猜测的那样,我已经安装了两个不同的版本。
我的空闲路径显示
['/home/pradeep', '/usr/bin', '/usr/local/lib/python2.7/dist-packages/Whoosh-2.3.0-py2.7.egg', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-linux2', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages/PIL', '/usr/lib/python2.7/dist-packages/gst-0.10', '/usr/lib/python2.7/dist-packages/gtk-2.0', '/usr/lib/pymodules/python2.7', '/usr/lib/python2.7/dist-packages/ubuntu-sso-client', '/usr/lib/python2.7/dist-packages/ubuntuone-client', '/usr/lib/python2.7/dist-packages/ubuntuone-control-panel', '/usr/lib/python2.7/dist-packages/ubuntuone-couch', '/usr/lib/python2.7/dist-packages/ubuntuone-installer', '/usr/lib/python2.7/dist-packages/ubuntuone-storage-protocol']
我的终端路径显示:
['', '/usr/local/lib/python27.zip', '/usr/local/lib/python2.7', '/usr/local/lib/python2.7/plat-linux3', '/usr/local/lib/python2.7/lib-tk', '/usr/local/lib/python2.7/lib-old', '/usr/local/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/site-packages']
如何删除终端版本并在终端中安装空闲版本?谢谢。
您需要确保在
~/.profile
或/usr/<user-name>/.profile
中正确设置了PYTHONPATH
。例如(这是针对OSX的,但只需查找机器上安装Python的位置即可):
只有OSX需要导出前缀,您可以使用终端中的
echo $PYTHONPATH
检查当前路径。一旦您将
PYTHONPATH
更改为指向您的python包文件夹版本,您需要使用以下命令强制终端更新路径:然后再次尝试
echo $PYTHONPATH
并确保它已更改。然后只要指向正确的目录,就应该对其进行设置。在python路径中定义的所有目录中搜索包。
因此,如果
IDLE
和terminal
的工作方式不同,意味着它们的python路径不同。所以
试试这个:(在空闲和终端上)
比较从这两个目录获得的列表,空闲的额外目录将具有
whoosh
您可以向
sys.path
添加目录,如下所示:现在,
/home/user/packages
中的所有包都可以导入。您正在运行两个不同的Python安装,一个日期是2011年4月10日,另一个日期是2011年11月28日。第二个没有安装。
你的选择是:
查找IDLE使用的版本并从命令行运行它。要找到它,请打开IDLE并运行
import sys; print sys.executable
。它将显示安装了软件包的版本的位置。或者,可以通过在命令行安装相同的包来增强命令行版本(即,对要加载的各种包运行
python setup.py install
)。相关问题 更多 >
编程相关推荐