Две вещи, на которые стоит обратить внимание: во-первых, я выполняю эти команды с запущенной виртуальной средой. Таким образом, терминал отображается как (env):
. Два, каждый раз, когда я пытался ввести su postgres
, он спрашивал у меня пароль.
Я читаю книгу на Django (используя ма c), текст гласит: «Если вы используете macOS, скачайте PostgreSQL с https://www.postgresql.org/download/ и установите его. Вам также необходимо установить адаптер Psycopg2 PostgreSQL для Python. Для установки выполните следующую команду: pip install psycopg2==2.7.4
. "
У меня уже было установлено postgres на моей машине, так как я ранее пытался развернуть сайт, прежде чем вернуться к этому примеру проекта, который я создал. Поэтому я не go на сайт и установить его. Я установил psycopg2 в соответствии с инструкциями ((env): pip install psycopg2==2.7.4.
)
«Давайте создадим пользователя для нашей базы данных PostgreSQL. Откройте оболочку и выполните следующие команды: su postgres
затем createuser -dP blog
»
Я думал, что «открыть оболочку» означает ввести виртуальную оболочку python? Итак:
python manage.py shell
затем
su postgres
это не сработало, оно попросило у меня пароль. Вышел из оболочки, запустил ту же команду (env): su postgres
, тот же результат.
Оттуда я подумал, может быть, так как я нахожусь в виртуальной среде, мне нужно заново загрузить postgres
. Я запустил pip install postgres
(не знал, загрузит ли это что-нибудь, но это произошло, поэтому я не стал заходить на сайт / также не знал, как установить его в этой среде с сайта). Обратите внимание, это установлено postgres
, а также psycopg-someversion-binary
. Теперь у меня установлена psycopg2==2.7.4
и установлена какая-то версия psycopg2-binary
. Оттуда я бежал (env): su postgres
(заметка из моего окружения). Тот же результат, он попросил пароль.
Затем я снова открыл интерактивную оболочку python с помощью python manage.py shell
и снова запустил su postgres
. Тот же результат.
В этот момент я попытался исследовать это самостоятельно. То, что я прочитал, говорит, что мне нужно запустить su - postgres
из root (?), Введя sudo -i
в терминале. Я сделал это, теперь я нахожусь на Justins-MBP:~ root#
(это не похоже, что это вообще связано с проектом django, для которого я пытаюсь использовать postgres db). В любом случае, отсюда su - postgres
и, как вы уже догадались, он попросил у меня пароль.
Любая помощь в том, как я могу правильно переключить БД, очень ценится.
Кроме того, набрав все это и подумав о том, что я сделал, я понял, что еще не изменил настройки базы данных проекта python. Но и книги нет, так что вы не уверены, как этот проект узнает об этой базе данных?