0

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

我考虑过不使用 paste,但我仍然不知道如何在 development.ini“使用”选项上指向我的应用程序。

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

4

2 回答 2

3

起初它令人困惑,但您的代码实际上根本不需要在您的虚拟环境目录中。实际上最好不要将您的代码放在您的环境中,因为您可能希望在不同的环境中使用相同的代码,例如使用不同版本的 Python 或不同版本的库来测试您的代码。

virtualenvwrapper 确实将您所有的环境放在一个地方。virtualenvwrapper 是 virtualenv 之上的一个方便的工具,但你不需要它来将你的代码和你的环境放在不同的地方。在开始使用 virtualenvwrapper 之前,也许您应该对 virtualenv 本身更熟悉一些。

您应该让 paster 创建一个带有项目名称的目录。这是您将在版本控制中提交的目录(例如 git、mercurial...)。您不想提交包含虚拟环境的目录。

于 2011-09-14T18:36:17.583 回答
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文件中。

于 2011-09-14T22:01:56.283 回答