【问题标题】:How to correctly import a Python library into a Django project (hosted on Heroku)?如何将 Python 库正确导入 Django 项目(托管在 Heroku 上)?
【发布时间】:2014-01-09 18:40:44
【问题描述】:

我需要将 Recurly API 库包含到 Django 项目中。 该库在 GitHub 上,项目部署到 Heroku。 目前,我在 requirements.txt 中添加了以下内容:

-e git://github.com/recurly/recurly-client-python.git#egg=recurly-client-python

一旦应用程序在 heroku (?) 上,这可能会起作用,但在本地开发(通过工头运行本地服务器)时它不会被拾取。在我的测试应用的 views.py 中,我有:

import recurly

我明白了:

Exception Type: ImportError
Exception Value:    
No module named recurly
Exception Location: /Users/pete/Documents/code/django/simpleblog/subscriptions/views.py in <module>, line 7
Python Executable:  /Users/pete/.virtualenvs/django/bin/python 

我对 Django/Python 以及在这种环境中使用 API 还是很陌生。我应该如何安装和包含它,以便它在本地和部署后都可以工作?我尝试在线搜索无济于事。

【问题讨论】:

  • 您是否在添加后运行pip install -r requirements.txt
  • 另一件事。在requirements.txt 中,您可以改为使用recurly == 2.1.1
  • 太棒了,就是这样。谢谢!!

标签: python django api heroku recurly


【解决方案1】:

第一种方法:

你可以做的是在你的桌面上克隆代码:

git 克隆https://github.com/recurly/recurly-client-python.git

然后从这个新目录运行

python setup.py 安装

(这是您可以将任何可重用的 python 应用程序安装到您的环境中的方法)

编辑1:

第二种方法: 只需更改 requirements.txt

“-e git://github.com/recurly/recurly-client-python.git#egg=recurly-client-python”到“recurly”

如果您是 python 新手并且想要简单快速的实现,请使用第二个。如果您是 python 新手并想了解 python 中的工作原理,请使用第一个,它会有所帮助。

EDIT2:

想了解更多?检查您通过这两种不同的方法安装的版本。 ("pip list|grep recurly")

【讨论】:

  • Karthik 上面的回答是我需要使这个特定的 API (在本地)工作。但只是好奇,在 requirements.txt 中包含 API 与根据您上面的答案手动安装它有什么区别? (另外,假设我将从项目的活动 virtualenv 中运行安装?)
  • 你是对的,应该从活动的 virtualenv 中运行它。
  • 让我们退一步理解这个概念。当有人制作一个 python 包时,他可以通过将代码提供给其他人并让他们运行“python setup.py install”来将其分发给其他人,或者他可以推送到名为“PyPi”的存储库。 pip 是一个工具,可以使用命令“pip install ”从该存储库轻松安装,requirement.txt 是通过“pip install -r requirements.txt”安装多个包的快捷方式,其中require.txt 包含所有包名称. pypi.python.org/pypi/pip
猜你喜欢
  • 2017-03-02
  • 2021-09-05
  • 2016-02-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-22
  • 1970-01-01
  • 2016-10-08
相关资源
最近更新 更多