Как создать проект без папки проекта?

Я новичок в пирамиде и пастере, пока просто читаю документы. Я использую virtualenv и внутри каталога virtualenv хочу запустить проект пирамиды. Проблема в том, что я бы хотел, чтобы пастер не создавал каталог с именем проекта, а вместо этого помещал все файлы каркаса в текущий каталог (корень venv).

Я думал о том, чтобы просто не использовать пастер, но я все еще не знал, как указать на мое приложение в опции «использовать» development.ini.

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


person Luiz Geron    schedule 14.09.2011    source источник


Ответы (2)


На самом деле это просто сброс велосипеда, потому что то, как вы создаете проект и виртуальную среду, не имеет значения, и вы можете разместить любой из них где угодно, в том числе друг в друге.

Однако, если вы действительно этого хотите, вы можете paster create -t pyramid_starter -o .. <current_directory_name> создать проект в текущем каталоге.

Чтобы создать новый проект:

cd ~/work/my_repo
virtualenv --no-site-packages env
env/bin/pip install pyramid
env/bin/paster create -t pyramid_starter -o .. my_repo
git init
echo 'env' > .gitignore
git add .

Обычно я делаю это при настройке новой машины:

cd ~/work
git clone /path/to/<my repo>.git
cd my_repo
virtualenv --no-site-packages env
env/bin/pip install -e . # equivalent to env/bin/python setup.py develop

Используя настройку, которую я только что упомянул, вы захотите добавить каталог env в свой файл .gitignore.

person Michael Merickel    schedule 14.09.2011

Сначала это сбивает с толку, но на самом деле ваш код вообще не должен находиться в каталоге вашей виртуальной среды. На самом деле лучше не помещать свой код в вашу среду, так как вы можете захотеть использовать разные среды с одним и тем же кодом, например, чтобы протестировать свой код с разными версиями Python или разными версиями библиотеки.

virtualenvwrapper объединяет все ваши среды в одном месте. virtualenvwrapper — это удобный инструмент поверх virtualenv, но он вам не нужен, чтобы поместить ваш код и вашу среду в разные места. Возможно, вам следует немного освоиться с самим virtualenv, прежде чем начинать использовать virtualenvwrapper.

Вы должны позволить пастеру создать каталог с именем проекта. Это каталог, который вы зафиксируете в системе управления версиями (например, git, mercurial...). Вы не хотите фиксировать каталог, содержащий виртуальную среду.

person Alex Marandon    schedule 14.09.2011