Ошибка в 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 имеет проблемы с некоторыми пакетами, и вам придется установить бинарную версию, как это сделал я, или установить предыдущую версию. Надеюсь, это поможет всем, кто столкнулся с подобной проблемой.

Вернуться на верх