如何在没有项目文件夹的情况下创建项目?

时间:2011-09-14 18:20:54

标签: python pyramid paster

我是金字塔和贴纸的新手,现在只是阅读文档。我使用virtualenv并在virtualenv目录中我想开始一个金字塔项目。问题是我希望贴纸者不用项目名称创建一个目录,而是将所有脚手架文件放在当前目录(venv根目录)上。

我想过不使用贴纸,但我仍然不知道如何在development.ini“use”选项上指向我的应用。

我也可以将我的virtualenv放在我的文件系统完全不同的地方,但这对我来说似乎很奇怪(也许virtualenvwrapper可以让它变得更容易)。还有其他办法吗?

2 个答案:

答案 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文件中。