我是金字塔和贴纸的新手,现在只是阅读文档。我使用virtualenv并在virtualenv目录中我想开始一个金字塔项目。问题是我希望贴纸者不用项目名称创建一个目录,而是将所有脚手架文件放在当前目录(venv根目录)上。
我想过不使用贴纸,但我仍然不知道如何在development.ini“use”选项上指向我的应用。
我也可以将我的virtualenv放在我的文件系统完全不同的地方,但这对我来说似乎很奇怪(也许virtualenvwrapper可以让它变得更容易)。还有其他办法吗?
答案 0 :(得分:3)
起初令人困惑,但您的代码根本不需要在您的虚拟环境目录中。实际上最好不要将代码放在您的环境中,因为您可能希望使用具有相同代码的不同环境,例如使用不同版本的Python或不同版本的库来测试代码。
virtualenvwrapper确实将您的所有环境放在一个地方。 virtualenvwrapper是virtualenv之上的便捷工具,但您不需要它将您的代码和环境放在不同的地方。在开始使用virtualenvwrapper之前,也许你应该对virtualenv本身感觉更舒服。
您应该让贴纸创建一个包含项目名称的目录。这是您将在版本控制中提交的目录(例如git,mercurial ...)。您不想提交包含虚拟环境的目录。
答案 1 :(得分:1)
这实际上只是自行车脱落,因为你如何创建项目和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
文件中。