Artem0071, ну во-первых про brew не я вам говорил. хотя и поддерживаю этот способ )
команда `sudo chown -R $(whoami) /usr/local` должна выполнятся именно так как написана
ничего заменять не нужно
потом нужно выполнить brew update и только потом brew install
и потом нужно взять книжку по башу и прочитать хотя бы первые страниц 10
не будете же вы перезагружать мак изза каждой мелочи
маки обычно перезагружаются только в случае применния обновлений к самой операционке
id = models.PositiveIntegerField(primary_key=True)
поле id оно не для хранения информации
оно не предназначено для записи вообще
оно просто для того чтобы отличать записи друг от друга, и обычно создается самой базой
вам нужно создать поле post_id = blablabla и туда писать айди поста
поле это должно быть уникальным
таким образом при попытке вставить в базу запись с таки же post_id приведет к ошибке
все счастливы
ну в целом да
пути в разных ОС составляются по разному
поэтому для написания универсальных программ зачастую используют os.path.jon() который праивльно соединит части путей по тем правилам которые специфичны для ОС на которой скрипт был запущен
давайте еще раз по порядку
1) выкидываем книгу лутца
2) открываем https://docs.python.org/2/tutorial/modules.html и читаем первые 2 абзаца
3) дальше используем следующую терминологию
текстовый файл - любой файл с любым рассширением окромя бинарников
питон модуль - файл с инструкциями питона. чаще всего с расширением .py
теперь
мы можем открывать/закрывать/модифицировать текстовые файлы с помощь open()...
мы можем импортировать модули из других скриптов (подробнее читаем доки по импортированию)
мы используем импорт для организации более сложных программ
мы используем текстовые файлы (с любым расширением txt, json, xml, html, csv... или вообще без расширения) обычно для хранения/чтения каких-то данных
теперь внимательно:
текст с исходным текстом на питоне (модуль) является частным случаем текстового файла, поэтому в теории вы можете выполнить любые действия с ним как с обычным текстовым файлом
но обычно это имеет смысл в том случае если у вас довольно специфическая задача по кодогенерации
то есть когда вы на лету в вашем же скрипте генерируете программу ( путем написания питон инструкций), сохраняете ее и запускаете программно ( но я сомневаюсь, что это то, что вы сейчас пытаетесь сделать осознанно)
Евгений Колесов,
потому что при "правильных" слешах он реально пытается идти искать файл по заданному пути
а при "неправильных" он ищет файл в текущей директории(относительно скрипта) который называется "home\usr\bin\Desktop\myfile".txt
то есть я бы ванговал что у вас рядом со скриптом теперь есть файл "home\usr\bin\Desktop\myfile.txt". поэтому и находится
ну можно конечно так поиздеваться над питоном
но за такое поидее руки ломать нужно