Использование PyCharm в Windows и хотелось бы получить лучшее представление о том, как настроить локальную среду, чтобы она была максимально возможной для моих серверов на Linode (или в любом другом Linux-пространстве).Как настроить Python с virtualenv локально и на реальном сервере Linode (или аналогичном)?
У меня есть физический диск, выделенный для разработки. В моем случае это диск Z:
.
Обычно я создаю один каталог для каждого проекта. Проект определяется как весь веб-сайт.
В настоящее время у меня также есть каталог, Z:\virtualenv
, где я создаю свои виртуальные среды. Один за проект. Я полагаю, что несколько проектов могут использовать один и тот же virtualenv, но я не уверен, что это разумно для разработки или производства.
Я рассмотрел идею наличия виртуального виртуального виртуального живого внутри его соответствующего проекта. Это привлекает меня, потому что тогда каждый проект будет монолитным. Например, если мы говорим о применении Колба под PyCharm:
d z:\flask_app
d .git
d .idea
d static
d templates
d virtualenv
main.py
Как, в таком случае, вы настроите сервер производства с учетом приведенных выше?
Давайте предположим, что один использует одну машину для размещения более одного сайта с помощью виртуального хостинга, что является одной из них:
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName example.com
ServerAlias example.com *.example.com
DocumentRoot /var/www/example/public_html
ErrorLog /var/www/example/logs/access.log
CustomLog /var/www/example/logs/error.log combined
<Directory /var/www/example>
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
насторить virtualenv на глобальном уровне сервера? Я думаю, что это глобальное «да». Он не мог работать иначе. Я не думаю.
Хорошо, что это означает, что вся структура файла под
z:\flask_app
теперь можно FTP'd в
/var/www/example/public_html
и сайт хорошо идти?
Понимаю, что сервер db, db, таблицы и т. Д. Должен быть настроен на рабочем компьютере для соответствия. Я просто сосредотачиваюсь на Python на переходе Python с virtualenv от среды разработки настольных компьютеров к внешнему ящику Linux.
Я думаю, что я должен использовать virtualenv на корневом уровне сервера, чтобы также включить эту виртуальную среду, верно? Здесь я немного размыта по поводу вещей. Большинство обучающих программ, которые я встречал, широко охватывают вашу локальную среду разработки, но редко переходят к переходу проектов на производственные серверы, их настройке и постоянным отношениям к настройке разработки.
Я буду использовать виртуальную машину с Ubuntu 14.04 LTS, чтобы разобраться с этим, когда я продвигаюсь вперед.
Я также рассмотрел возможность использования 14.04 Desktop для разработки на виртуальной машине, чтобы иметь согласованные среды и выйти из Windows.
Спасибо за ваш ответ. Я буду использовать Ansible для автоматизации развертывания. Мне очень нравится подход, который вы предложили с помощью файла 'requirements.txt'. Вы предлагаете, чтобы это могло или должно храниться в дереве проекта, поддерживаемом вручную, а источник контролируется с помощью Git? –
Да, это будет нормально работать. Нормально держать 'requirements.txt' под контролем источника. – Ivo