python - 在 Heroku 中获得正确的依赖

标签 python django heroku pip

我试图让 Heroku 接受 editable dependency (即 -e git://github.com/merlinares/django-registration.git#egg=django-registration )具有 pip 数要求。

然而,即使它在部署时似乎采用了该 fork ,但实际上并没有使用它。我已经用 heroku run cat .heroku/python/lib/python2.7/site-packages/registration/forms.py 检查了站 pip 包中的代码并且它不包含新代码,而只是使用先前安装的默认 django-registration 包。

但是,分支版本似乎存在于django-registration.egg-link 指定的目录中。 ,一个名为:

/app/.heroku/src/django-registration

在部署(即 git push heroku master )我看到:

-----> Installing dependencies using Pip (1.3.1)

   Obtaining django-registration from git+git://github.com/mattlinares/django-registration.git#egg=django-registration (from -r requirements.txt (line 12))
     Updating ./.heroku/src/django-registration clone
     Running setup.py egg_info for package django-registration

   Installing collected packages: django-registration

     Running setup.py develop for django-registration

       Creating /app/.heroku/python/lib/python2.7/site-packages/django-registration.egg-link (link to .)
       django-registration 0.8-alpha-1 is already the active version in easy-install.pth

       Installed /app/.heroku/src/django-registration
   Successfully installed django-insensitive django-registration
   Cleaning up...

我还手动尝试卸载并安装那个特定的 fork,效果如下:
(ssc)~/code/django/ssc: heroku run pip install --upgrade git+git://github.com/mattlinares/django-registration.git
Running `pip install --upgrade git+git://github.com/mattlinares/django-registration.git` attached to terminal... up, run.5704
Downloading/unpacking git+git://github.com/mattlinares/django-registration.git
  Cloning git://github.com/mattlinares/django-registration.git to /tmp/pip-qpTF2t-build
  Running setup.py egg_info for package from git+git://github.com/mattlinares/django-registration.git

Installing collected packages: django-registration
  Found existing installation: django-registration 0.8-alpha-1
    Uninstalling django-registration:
      Successfully uninstalled django-registration
  Running setup.py install for django-registration

Successfully installed django-registration
Cleaning up...

然而我的应用程序没有使用 registration 的版本我正在尝试喂它。我怀疑用 heroku run ls .heroku/python/lib/python2.7/site-packages 列出的鸡蛋:
django_registration-0.8-py2.7.egg-info        registration

django-registration.egg-link

我还尝试按照 how to pip uninstall with virtualenv on heroku cedar stack? 清除整个 virtualenv没有运气

我能做什么?

最佳答案

使用可编辑依赖项时,您必须定义标签或提交哈希。
按照你的例子:

-e git+https://github.com/merlinares/django-registration.git@3.1#egg=django-registration
或者
-e git+https://github.com/merlinares/django-registration.git@40fee813ca444236da6d66f516b869fd8ebbe9cd#egg=django-registration

关于python - 在 Heroku 中获得正确的依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17255953/

相关文章:

python - 在实例 Django 模型保存方法中更新 FileField 值

git - 使用另一个 heroku 存储库作为 heroku 服务器的子模块?

python - 中文字符插入问题

python - Pandas 删除值小于给定值的行

python - view.py 中使用的 Django bool 字段

ruby-on-rails - 无法将本地主机连接到 heroku 数据库

ruby-on-rails - Paperclip-ffmpeg 在heroku上不起作用

python - 使用 pandas 检测具有许多缺失值的数据的异常值

python - Scipy 稀疏三角矩阵?

python - Firebase(客户端与服务器端)