手动安装python包

时间:2011-09-12 17:11:39

标签: python packages pip

我想使用https://github.com/erikvold/Github-to-Lighthouse-Issue-Migrator/blob/master/migrator.py但是在第8行开头的评论中说:

# pip install lighthouse-python-api (probably have to do this manually)

但是当我尝试时,我收到以下错误:

$ pip install lighthouse-python-api
Downloading/unpacking lighthouse-python-api
  Could not find any downloads that satisfy the requirement lighthouse-python-api
No distributions at all found for lighthouse-python-api
Storing complete log in /Users/erikvold/.pip/pip.log

所以我想我需要手动安装软件包..所以有人可以解释或链接到解释如何执行此操作的文档吗?

1 个答案:

答案 0 :(得分:6)

正如@delnan所说,Lighthouse API的维护者应该真正创建一个setup.py脚本。无论如何,有两种方法可以实现你想要的,并且都需要理解python模块。

在python中导入模块时如下:

import lighthouse

解释器在运行输入脚本的目录中搜索名为lighthouse.py的文件,如果在那里找不到它,则在环境变量PYTHONPATH指定的目录中搜索。如果你不知道环境变量是什么,我建议你在这里阅读它们:http://en.wikipedia.org/wiki/Environment_variable

如果在PYTHONPATH环境指定的目录中找不到它,则默认为sys.path var,这取决于安装。

Lighthouse的维护者正在做什么(我认为)是将这些文件从他下载到他的安装默认目录中的任何目录中进行符号链接。你可以通过运行python解释器并查看sys.path var:

来快速找出这个目录是什么。
>>> sys.path
['', '/usr/local/lib/python2.6/dist-packages/Paste-1.7.5.1-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/tornado-1.1-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/pymongo-1.10.1-py2.6-linux-x86_64.egg', '/usr/local/lib/python2.6/dist-packages/mongoengine-0.4-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/django_debug_toolbar-0.8.5-py2.6.egg', '/usr/lib/python2.6', '/usr/lib/python2.6/plat-linux2', '/usr/lib/python2.6/lib-tk', '/usr/lib/python2.6/lib-old', '/usr/lib/python2.6/lib-dynload', '/usr/local/lib/python2.6/dist-packages', '/usr/local/lib/python2.6/dist-packages/PIL', '/usr/lib/python2.6/dist-packages', '/usr/lib/python2.6/dist-packages/PIL', '/usr/lib/python2.6/dist-packages/gst-0.10', '/usr/lib/pymodules/python2.6', '/usr/lib/python2.6/dist-packages/gtk-2.0', '/usr/lib/pymodules/python2.6/gtk-2.0']

您可以看到/usr/local/lib/pthon2.6/dist-packages/是所有模块所在的文件夹。我相信这是维护者对其文件进行符号链接的地方。 这不是一个好的想法。你不应该直接修改它。

更好的方法是简单地下载文件并将它们放在与脚本相同的目录中,或者将它们放在目录中并将该目录添加到PYTHONPATH环境var。