@robocop45
Only python

/usr/bin/env: ‘python\r’: No such file or directory — Не получается запустить чужой проект с помощью docker, как исправить?

Всем привет, запускаю я тут чужой проект и получаю ошибку
/usr/bin/env: ‘python\r’: No such file or directory


в сумме часов 7 не могу решить эту проблему.
Шаги запуска:
1) docker compose up -d
2)
docker-compose exec api sh -c "my_city/manage.py makemigrations &&  my_city/manage.py migrate"
или(разницы нет)
docker compose run --rm api sh -c "my_city/manage.py makemigrations && my_ci
ty/manage.py migrate"


docker-compose

version: "3.9"
services:
  db:
    image: postgres:14.6-alpine
    volumes:
      - ./pgdata/:/var/lib/postgresql/data/
    env_file:
      - ./my_city/my_city/.env
    ports:
      - 5432:5432
    restart: unless-stopped

  api:
    build:
      context: .
      args:
        requirements_file: dev-requirements.txt
    volumes:
      - .:/usr/src/app/
    ports:
      - 8000:8000
    depends_on:
      - db
    env_file:
      - ./my_city/my_city/.env
    command: python my_city/manage.py runserver 0.0.0.0:8000


docker compose.ci
version: "3.9"

services:
  db:
    image: postgres:14.6-alpine
    environment:
      POSTGRES_DB=DB_NAME
      POSTGRES_PASSWORD: DB_PASSWORD
      POSTGRES_USER: USER_NAME
      POSTGRES_HOST: db
      POSTGRES_PORT: 5432
    volumes:
      - ./pgdata/:/var/lib/postgresql/data/
    ports:
      - 5432:5432

  api:
    build:
      context: .
      args:
        requirements_file: ci-requirements.txt
        dependencies: 'git'
    environment:
      DJANGO_SECRET_KEY: REPLACE_ME
      POSTGRES_DB_URL: "postgres://USER_NAME:DB_PASSWORD@db:5432/DB_NAME"
      PGDATA: /var/lib/postgresql/data/pgdata
      MIN_MEMBERS_IN_TEAM: 2
      MAX_MEMBERS_IN_TEAM: 5
      DJANGO_SETTINGS_MODULE: my_city.settings
      DJANGO_ENV: ci
      ALLOWED_HOSTS: '127.0.0.1,0.0.0.0'
    ports:
      - 8000:8000
    depends_on:
      - db
    stdin_open: true
    tty: true
    command: python my_city/manage.py runserver 0.0.0.0:8000


в файле manage.py есть такая строчка

#!/usr/bin/env python   вот она 
"""Django's command-line utility for administrative tasks."""
import os
import sys
...


Не знаю, что делать уже. Сhatgpt тоже в шоке

Вчера получилось решить проблему изменив line separator
646de5d735f60210945731.jpeg

сегодня же это не работает

OC - винда
docker - 20 +
Docker compose 2+
Python 3.9+
  • Вопрос задан
  • 524 просмотра
Пригласить эксперта
Ответы на вопрос 2
Надо откатить свои изменения в файле manage.py и попробовать заново.
Ответ написан
Комментировать
E13ctr
@E13ctr
Ошибка "No such file or directory" может возникнуть из-за того, что в вашем скрипте используется символ возврата каретки (CR, \r). Это может произойти, если скрипт был создан в Windows, а затем скопирован в среду Linux.

Чтобы исправить эту проблему, вы можете сконвертировать файл скрипта в формат Unix, используя утилиту dos2unix.

В терминале написать: dos2unix manage.py

зы также это работает в обратном порядке unix2dos name.py
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы