我正在使用Python 2.7.11,Django 1.9和Heroku。
我需要使用scipy和numpy。一切都在本地运行良好但Heroku在推送应用程序时返回错误:“编译的段塞大小:624.7M太大(最大为300M)”
因此我删除了buildpack Heroku / Python并添加了这个:https://github.com/kennethreitz/conda-buildpack
我保留了文件requirements.txt:
django==1.9.2
boto==2.41.0
dj-database-url==0.4.1
Django==1.9.2
django-allauth==0.28.0
django-appconf==1.0.2
django-autocomplete-light==3.1.6
django-toolbelt==0.0.1
gunicorn==19.6.0
pep8==1.7.0
Pillow==4.0.0
psycopg2==2.6.1
pytz==2016.10
sorl-thumbnail==12.3
virtualenv==15.1.0
sendgrid==3.2.10
python_http_client==2.2.1
django-s3-folder-storage==0.3
django-debug-toolbar==1.5
celery==3.1.25
redis==2.10.5
tweepy==3.5.0
geopy==1.11.0
django-mptt==0.8.7
mistune==0.7.3
django-widget-tweaks==1.4.1
django-cleanup == 0.4.2
django-unused-media == 0.1.6
python-memcached == 1.58
python-binary-memcached == 0.26.0
django-bmemcached == 0.2.3
whitenoise==3.2
coverage == 4.3.4
raven == 6.0.0
newrelic == 2.82.0.62
ajaxuploader==0.3.8
awscli==1.10.47
botocore==1.4.37
colorama==0.3.7
dj-static==0.0.6
django-libs==1.67.4
django-user-media==1.2.3
docutils==0.12
ecdsa==0.13
flake8==2.5.4
jmespath==0.9.0
mccabe==0.5.0
oauthlib==1.1.2
paramiko==2.0.1
pyasn1==0.1.9
pycrypto==2.6.1
pyflakes==1.2.3
python-openid==2.2.5
requests==2.9.1
requests-oauthlib==0.6.1
rsa==3.4.2
s3transfer==0.0.1
simplejson==3.8.2
six==1.10.0
static3==0.7.0
futures==3.0.5
并添加了一个conda-requirements.txt:
nomkl
python=2.7.11
numpy=1.11.1
scipy=0.19.0
scikit-learn==0.18.1
这是完整的Heroku构建日志(这里适用的行太多):
https://gist.github.com/jpuaux/74cb50a6cfb2dcab80d25d1809ae01c2
请注意我用以下方法清除了Heroku缓存:
heroku repo:purge_cache -a myapp
感谢您提供的任何帮助!
答案 0 :(得分:0)
您使用水蟒吗?我遇到了同样的问题,文件文件为505M,然后我用pip创建了一个虚拟环境,只有一个237M 我的requirements.txt: 我使用pip而不是conda创建了一个新的虚拟环境。
SELECT * FROM `messages`
WHERE (`from_id` = $user1_id AND `to_id` = $user2_id) OR
(`from_id` = $user2_id AND `to_id` = $user1_id)
然后我安装了所需的软件包,这是我在requirements.txt中的列表:
pip install virtualenv
cd my_project_folder
virtualenv my_project
然后我将其上传到heroku,并通过了。