Как создать проект без папки проекта? - PullRequest
0 голосов
/ 14 сентября 2011

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

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

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

Ответы [ 2 ]

3 голосов
/ 14 сентября 2011

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

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

1 голос
/ 15 сентября 2011

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

Однако, если вы действительно хотите, вы можете 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.

...