我正在尝试将Django应用程序推送到Heroku上,但是在运行git push heroku master时出现以下错误
Counting objects: 80, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (74/74), done.
Writing objects: 100% (80/80), 990.21 KiB | 0 bytes/s, done.
Total 80 (delta 20), reused 0 (delta 0)
remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> Python app detected
remote: ! The latest version of Python 2 is python-2.7.14 (you are using
python-2.7.12, which is unsupported).
remote: ! We recommend upgrading by specifying the latest version
(python-2.7.14).
remote: Learn More: https://devcenter.heroku.com/articles/python-
runtimes
remote: -----> Installing python-2.7.12
remote: -----> Installing pip
remote: -----> Installing requirements with pip
remote: Collecting alabaster==0.7.7 (from -r
/tmp/build_a1f6d188f9e0e61e01076a73d4e10542/requirements.txt (line 1))
remote: Downloading alabaster-0.7.7-py2.py3-none-any.whl
remote: Collecting anaconda-client==1.4.0 (from -r
/tmp/build_a1f6d188f9e0e61e01076a73d4e10542/requirements.txt (line 2))
remote: Could not find a version that satisfies the requirement
anaconda-client==1.4.0 (from -r
/tmp/build_a1f6d188f9e0e61e01076a73d4e10542/requirements.txt (line 2)) (from
versions: 1.1.1, 1.2.2)
remote: No matching distribution found for anaconda-client==1.4.0 (from
-r /tmp/build_a1f6d188f9e0e61e01076a73d4e10542/requirements.txt (line 2))
remote: ! Push rejected, failed to compile Python app.
remote:
remote: ! Push failed
remote: Verifying deploy...
remote:
remote: ! Push rejected to demo-freshstart.
似乎它与Anaconda有关,但我在我的requirements.txt中很早就看到了Anaconda,所以认为它可能只是因为其他原因而被抓住的第一件事。任何帮助将不胜感激。谢谢。
答案 0 :(得分:3)
您是否在conda中创建了环境?
如果是这样,激活env后。你需要conda install pip来激活pip install,否则你的pip冻结会回到默认的anaconda环境。 (这就是为什么你在那里看到它们)
1 conda install pip 2 pip再次安装所有可用的包。 (例如pip install django) 3 pip freeze> requirements.txt
请参见下面的神话5 https://jakevdp.github.io/blog/2016/08/25/conda-myths-and-misconceptions/
答案 1 :(得分:2)
对于每条消息
找不到X的匹配分布
,您必须手动将其从requirements.txt文件中删除:
1-删除X出现的行
2-保存文件
3-提交
4-推
针对提示所报告的下一个错误,再次执行此操作,直到到达所需条件列表中的结尾为止。
答案 2 :(得分:1)
根据PyPI,没有anaconda-client 1.4.0版本:最高版本是1.2.2。
答案 3 :(得分:1)
该错误可能是由于 Anaconda 库已更改,并且 1.4.0 和其他版本已被删除,因此它们不再存在。
其中一些是:
anaconda-client==1.7.2
anaconda-navigator==1.9.7
anaconda-project==0.8.2
blaze==0.11.3
clyent==1.2.2
conda==4.9.2
conda-build==3.20.5
conda-package-handling==1.3.11
...
(==removed versions
)
尝试仅通过 updating all the libraries in your environment 解决问题:
conda update -n base conda
conda update --all
然后
pip freeze>requirements.txt
git add .
git commit -m "something"
git push heroku master
答案 4 :(得分:0)
此错误的解决方案非常简单:
执行此操作时,pip还可自动将模块添加到文件中,Pip还可自动从本地代码库安装依赖项。那可能是个问题。
只需转到您的require.txt文件,并找到 anaconda-client == 1.4.0 (或以“找不到与该模块匹配的发布开头”的错误)并将其删除从文件中。
保存文件,提交和推送。
我在使用conda时遇到了类似的问题和错误,我采取了相同的步骤,并且对我有用。
我希望它对你们中的某些人有帮助。
答案 5 :(得分:0)
也试试这个:
pip freeze>requirements.txt
然后再尝试
git add .
git commit -m "something"
git push heroku master
答案 6 :(得分:0)
Could not find a version that satisfies the requirement
anaconda-client==1.4.0 (from -r
/tmp/build_a1f6d188f9e0e61e01076a73d4e10542/requirements.txt (line 2))
(from versions: 1.1.1, 1.2.2)
你好, 可能为时已晚,但对其他人有帮助。我遇到了同样的问题(但使用了不同的包),这就是我所做的(并且有效!)
<块引用>这个包是我项目的必需品,所以我无法删除它
requirments.txt
中的可用版本替换了我的软件包版本,在您的情况下为 1.1.1 or 1.2.2
git heroku master