Ошибка в vercel при загрузке приложения django
При попытке загрузить мое приложение Django я получил эти ошибки
requirements.txt error: subprocess-exited-with-error × Getting requirements to build wheel did not run successfully
Error: Command failed: pip3.12 install --disable-pip-version-check --target . --upgrade -r /vercel/path0/requirements.txt
error: subprocess-exited-with-error
Как я к этому пришел?
Вот что у меня есть в моем vercel.json
файле:
{
"version": 2,
"builds": [
{
"src": "ecommerce/wsgi.py",
"use": "@vercel/python",
"config": {
"maxLambdaSize": "15mb",
"runtime": "python3.9"
}
}
],
"routes": [
{
"src": "/(.*)",
"dest": "ecommerce/wsgi.py"
}
]
}
и вот пакеты в моем requirements.txt
файле:
Django==4.1.5
django-phonenumber-field==7.3.0
mysqlclient==2.2.4
numpy==1.26.4
phonenumbers==8.13.36
psycopg2==2.9.9
requests==2.31.0
requests-oauthlib==1.3.1
twilio==9.0.5
Я пробовал использовать виртуальный env, но все равно ничего не получилось, и я также изменил версию python с 3.10 на 3.9 в файле vercel.json
, что также не помогло.
Я смог диагностировать проблему и найти ее, для чего мне пришлось еще раз проверить журналы сборки в Vercel, и тогда я обнаружил следующее:
Getting requirements to build wheel did not run successfully. │ exit code: 1 ╰─> [21 lines of output] running egg_info writing psycopg2.egg-info/PKG-INFO writing dependency_links to psycopg2.egg-...
На самом деле это был пакет, не совместимый с Vercel, который был psycopg2
, так что я сделал:
Я установил бинарную версию пакета psycopg2-binary
и добавил его к моему requirements.txt
Я переразвернул, и все заработало. Оказалось, что Vercel имеет проблемы с некоторыми пакетами, и вам придется установить бинарную версию, как это сделал я, или установить предыдущую версию. Надеюсь, это поможет всем, кто столкнулся с подобной проблемой.