首页 文章

配置PyCharm以使用docker-compose

提问于
浏览
1

我有django-cookiecutter模板设置与docker和docker-composer . 它带有预配置的django管理命令(runserver,migrate等)

当我尝试使用其中任何一个时,我得到以下内容:

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 回答

  • 1

    找到问题的根源 . PyCharm 2016.3.2忽略了入口点 .

    Ticket on Jetbrains bugtracker

    将PyCharm恢复到2016.2.3使一切正常 .

相关问题