2014-12-13 3 views
1

Я только что начал изучать Django, и у меня возникли некоторые проблемы относительно «копии» проектов. У меня два компьютера, и я хотел бы использовать оба компьютера для моего развития. Когда я изучал PHP (в то время я даже не знал, как использовать Github), все, что мне нужно было сделать, это настроить веб-сервер на обоих компьютерах и загрузить все файлы с помощью Google Диска (с одного компьютера), а затем загрузить его с другого компьютера.Загрузка проектов Django, созданных в виртуальной среде на Github

Однако, мне кажется, что Django несколько отличается, поскольку он является каркасом и имеет множество настроек перед запуском проекта (включая виртуальную среду, я следую учебнику Youtube, и в нем говорится, что я буду лучше если я использовал virtualenv). Я думал, что это не сработает, просто загрузив всю папку проекта на другой компьютер.

В настоящее время я загрузил всю папку виртуальной среды на Github.

Итак, чтобы перечислить мои вопросы,

  1. При загрузке его на другом компьютере, я должен установки виртуальной среды на этом компьютере, а затем загрузить папку? ...
  2. Есть ли способ что я могу только синхронизировать или фиксировать файлы, которые были изменены в проекте автоматически? (То есть, мне нужно изменить многие файлы в проектах django (виды, URL-адреса, настройки ... и т. Д.), Но было бы сложно запомнить все файлы, которые я изменил, а затем отдельно зафиксировать их)

Любая помощь будет оценена по достоинству.

ответ

1

Я предлагаю вам также установить virtualenvwrapper (here). virtualenvwrapper хранит все файлы, кроме вашего проекта, в другом месте, поэтому ваш каталог проекта содержит только ваши файлы, и вы можете безопасно использовать git add --all.

После его установки выполните:

$ mkdir my-project; cd my-project 
$ mkvirtualenv my-env-name 
$ pip install django <more-good-stuff> 
$ pip freeze > requirements.txt 
$ git init; git add --all; git commit -m "Initial Commit" 
... push to github ... 

Теперь переходим к другой машине, и установить virtualenv и virtualenvwrapper

$ git clone <url> my-project; cd my-project 
$ mkvirtualenv my-env-name 
$ pip install -r requirements.txt 
... continue your work, commit and push push and win at life :D 
+0

Спасибо! но так как я пользователь Windows, довольно просто использовать virtualenvwrapper. Во всяком случае, я не знал, что требования. Txt, так что я googled. Но у меня есть еще один вопрос. Возможно ли создать файл требований.txt, даже если я уже начал свой проект?Я имею в виду, что я уже настроил проекты и работал над ним, но, согласно вашему ответу, кажется, что мне нужно выполнить checkzeze.txt для пипетки сразу после установки. Если сможешь, не могли бы вы мне сказать? –

+0

Не имеет значения, вы все равно можете выполнить 'pip freeze> requirements.txt'. Если оба пакета comp одинаковы, вы можете пропустить шаг 'pip install -r requirements.txt'. Этот файл полезен, когда кто-то настраивает их env в первый раз. Итак, да, сделайте этот файл и udpate всякий раз, когда вы устанавливаете какой-то новый пакет. – Sourabh

+0

Спасибо. Могу я задать еще один вопрос. Я только использовал github для Windows и никогда не использовал git по командной строке. Я пробовал первый раз с моей оболочкой git и следил за вашей инструкцией (наряду с некоторой помощью руководства github). Он работал нормально до дополнения; но когда я попытался это зафиксировать, ничего не произошло и не появилось. Я устал от ожидания и просто нажал кнопку ввода; то я мог бы написать другие команды (мне казалось, что «нормально, процесс закончен, поэтому я могу запускать другие команды сейчас .. но я думаю, что ничего не случилось»). Потому что слишком много файлов для фиксации? Не могли бы вы объяснить это кратко? –

0

вы обычно не хотят, чтобы совершить все вслепую. Лучше, если вы используете git status, чтобы просмотреть все файлы, которые вы изменили, а затем git add те, которые вы хотите совершить. После того, как вы подтвердили, что действительно хотите зафиксировать все файлы, вы можете просто git add --all (более here). А потом вы git commit.

И, да, virtualenv - это путь. Вы хотите создать virtualenv для своего проекта и иметь все свои зависимости в файле requirements.txt. Это позволит иметь только ваш исходный код и библиотеки в вашем git-репо, делая его намного чище. Это также может позволить вам иметь набор проверенных библиотек в производстве, и если вы хотите попробовать новую библиотеку, вы можете просто установить ее в свой локальный virtualenv. Или даже иметь два виртуальных сервера и переключаться или что-то еще, и это не испортит установки вашего репо кода или других компьютеров.

Смежные вопросы