2017-01-08 2 views
1

Ich habe django-cookiecutter Vorlage-Setup mit Docker & Docker-Composer. Es kommt mit vorkonfigurierten django Management-Befehle (runserver, wandern, etc.)Konfiguriere PyCharm, um mit docker-compose zu arbeiten

Wenn ich versuche, alle diejenigen zu verwenden, ich folgendes erhalten:

 
ad381d177c42:python -u /opt/.pycharm_helpers/pycharm/django_test_manage.py test . /app 
Testing started at 2:17 ... 
Creating test database for alias 'default'... 
/usr/local/lib/python3.5/site-packages/environ/environ.py:608: UserWarning: /app/config/settings/.env doesn't exist - if you're not configuring your environment separately, create one. 
    "environment separately, create one." % env_file) 
/usr/local/lib/python3.5/site-packages/django/db/backends/postgresql/base.py:248: RuntimeWarning: Normally Django will use a connection to the 'postgres' database to avoid running initialization queries against the production database when it's not needed (for example, when running tests). Django was unable to create a connection to the 'postgres' database and will use the default database instead. 
    RuntimeWarning 
Traceback (most recent call last): 
    File "/usr/local/lib/python3.5/site-packages/django/db/backends/base/base.py", line 199, in ensure_connection 
    self.connect() 
    File "/usr/local/lib/python3.5/site-packages/django/db/backends/base/base.py", line 171, in connect 
    self.connection = self.get_new_connection(conn_params) 
    File "/usr/local/lib/python3.5/site-packages/django/db/backends/postgresql/base.py", line 176, in get_new_connection 
    connection = Database.connect(**conn_params) 
    File "/usr/local/lib/python3.5/site-packages/psycopg2/__init__.py", line 164, in connect 
    conn = _connect(dsn, connection_factory=connection_factory, async=async) 
psycopg2.OperationalError: could not connect to server: No such file or directory 
    Is the server running locally and accepting 
    connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"? 

Die docker-compose up sehr gut funktioniert. Hier

ist die docker-compose.yml:

 
version: '2' 

volumes: 
    postgres_data_dev: {} 
    postgres_backup_dev: {} 

services: 
    postgres: 
    build: ./compose/postgres 
    volumes: 
     - postgres_data_dev:/var/lib/postgresql/data 
     - postgres_backup_dev:/backups 
    environment: 
     - POSTGRES_USER=budger 

    django: 
    build: 
     context: . 
     dockerfile: ./compose/django/Dockerfile-dev 
    command: /start-dev.sh 
    depends_on: 
     - postgres 
    environment: 
     - POSTGRES_USER=budger 
     - USE_DOCKER=yes 
    volumes: 
     - .:/app 
    ports: 
     - "8000:8000" 
    links: 
     - postgres 
     - mailhog 

    pycharm: 
    build: 
     context: . 
     dockerfile: ./compose/django/Dockerfile-dev 
    depends_on: 
     - postgres 
    environment: 
     - POSTGRES_USER=budger 
    volumes: 
     - .:/app 
    links: 
     - postgres 

    mailhog: 
    image: mailhog/mailhog 
    ports: 
     - "8025:8025" 

PyCharm Interpreter Konfiguration:

django docker-compose service interpreter

pycharm docker-compose service interpreter

Wieder einmal scheint alles wie ein Zauber funktioniert, aber nicht in PyCharm :(

Ich würde wirklich jede Hilfe schätzen! Vielen Dank!

Antwort

1

Die Ursache des Problems gefunden. Entrypoint wird von PyCharm 2016.3.2 ignoriert.

Ticket on Jetbrains bugtracker

Zurückkehren PyCharm zu 2016.02.03 macht alles funktioniert.

+1

Ich habe die PyCharm auf die neueste Version (2016.3.2) aktualisiert und es funktioniert, es scheint, dass sie das Problem behoben haben. – miso

Verwandte Themen