virtualenvwrapper默认将站点包存放在什么目录下?

In what directory does virtualenvwrapper store site packages by default?

Virtualenvwrapper 提供了几个变量:

$VIRTUALENVWRAPPER_ENV_BIN_DIR       
$VIRTUALENVWRAPPER_PROJECT_FILENAME  
$VIRTUALENVWRAPPER_SCRIPT            
$VIRTUALENVWRAPPER_VIRTUALENV_CLONE
$VIRTUALENVWRAPPER_HOOK_DIR          
$VIRTUALENVWRAPPER_PYTHON            
$VIRTUALENVWRAPPER_VIRTUALENV        
$VIRTUAL_ENV

我相信我正在通过 cd $VIRTUALENVWRAPPER_HOOK_DIR 找到我的虚拟环境并转到我创建的环境的名称 (cd my_environment)。

包含三个目录:binincludelib。不幸的是,其中 none 似乎包含 site-packages 目录。

我应该去哪里找到这些站点包?

site-packages 位于您的 virtualenv 的 lib/python{major}.{minor}/ 子目录中。

例如在 Python 2.7 虚拟环境中:

$ ls -d lib/python?.?/site-packages/
lib/python2.7/site-packages/

但在 Python 3.4 virtualenv 中,版本号再次匹配:

$ ls -d lib/python?.?/site-packages/
lib/python3.4/site-packages/

您可以使用:

$VIRTUAL_ENV/lib/`$VIRTUAL_ENV/bin/python -c "import sys; print('python{0.major}.{0.minor}'.format(sys.version_info))"`/site-packages/

如果你想要一个绝对路径,使用当前活动的 virtualenv Python 二进制文件来生成版本号。