2017-01-08 45 views
1

我有一個django-cookiecutter模板,其中包含docker-012erdocker-composer。 它配備了預配置的Django的管理命令(runserver命令,遷移等)配置PyCharm與docker-composose一起工作

當我嘗試使用任何這些我得到以下幾點:

 
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"? 

docker-compose up工作得很好。

這裏是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解釋配置:

django docker-compose service interpreter

pycharm docker-compose service interpreter

再次,一切似乎像一個魅力,但不是在PyCharm工作:(

我真的很感激任何幫助!謝謝!

回答

1

發現問題的根源。 入口點被PyCharm 2016.3.2忽略。

Ticket on Jetbrains bugtracker

復歸PyCharm至2016年2月3日,使一切工作。

+1

我已經更新了PyCharm到最新版本(2016.3.2),它的工作原理,似乎他們已經解決了這個問題。 – miso