【问题标题】:Manually installing python package手动安装python包
【发布时间】:2011-11-15 12:39:02
【问题描述】:

我想使用https://github.com/erikvold/Github-to-Lighthouse-Issue-Migrator/blob/master/migrator.py,但在从第 8 行开始的 cmets 中它说:

# 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

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

【问题讨论】:

  • 我要手动安装的包在这里github.com/clintecker/python-lighthouse-api
  • 该页面包含安装说明。但无论如何,应该有人让 Lighthouse API 的维护者创建一个 setup.py,最好还有一个 PyPI 页面。需要多个命令的安装是 1999 年。
  • pip install git+git://github.com/clintecker/python-lighthouse-api.git 应该可以工作

标签: python packages pip


【解决方案1】:

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

当你像这样在 python 中导入模块时:

import lighthouse

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

如果在 PYTHONPATH envi var 指定的目录中找不到它,则默认为依赖于安装的 sys.path var。

灯塔的维护者正在做的(我认为)是将这些文件从他下载到的任何目录中符号链接到他的安装默认目录中。你可以通过运行 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 环境变量中。

【讨论】:

    猜你喜欢
    • 2011-08-24
    • 2015-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-20
    • 2018-09-09
    • 1970-01-01
    相关资源
    最近更新 更多