金字塔中的virtualenv + setuptools问题

时间:2012-10-15 00:41:52

标签: python web virtualenv pyramid setuptools

我已关注these instructions。那就是:

  • 在其中创建了一个文件夹blah_project和另一个文件夹venv
  • 运行virtualenv --no-site-packages venv以在venv内创建虚拟环境。
  • 使用venv
  • 激活source venv/bin/activate
  • 运行pip install pyramid
  • 运行pcreate -s alchemy blah

现在,我面临的问题是,如果我运行任何命令,例如python blah/setup.py test -q,则所需的软件包不是安装在相应的venv子路径中,而是安装在当前目录中。这是预期的行为吗?如何设置脚本以始终在正确的路径中安装软件包?

我尝试查看setup.py内部并且我找不到任何相关内容,即没有路径传递给setuptools.setup()函数调用。

2 个答案:

答案 0 :(得分:2)

遗憾的是,这是使用setup.py的test子命令的预期行为。我们在很多子项目中解决这个问题的方法是定义一个名为setup.py dev的新别名,它同时安装测试依赖项和实际依赖项。但是我没有一个很好的解决方案,因为这是setup.py test有意识地工作的方式。以下是允许setup.py dev工作的金字塔配置的链接。

https://github.com/Pylons/pyramid/blob/master/setup.cfg#L12

https://github.com/Pylons/pyramid/blob/master/setup.py#L99

答案 1 :(得分:2)

尝试

pip install -e .

这将有助于您在venv环境中安装需求。