我一直在尝试在我的 OS X 机器上启动并运行 Python 3.3 的内置“venv”模块。我已经使用 Homebrew 安装了 Python 3.3。
根据文档,创建和切换虚拟环境按您的预期工作:
$ python3 -m venv myvenv
$ source myvenv/bin/activate
我已经测试过这样的东西:
$ echo "YEAH = 'YEAH!'" > myvenv/lib/python3.3/site-packages/thingy.py
$ python
>>> import thingy
>>> print(thingy.YEAH)
'YEAH!'
但是当我尝试安装分发时,它根本不会放在正确的位置。出于某种原因,它坚持尝试安装 into /usr/local/lib/python3.3/site-packages/
,但失败并显示以下消息:
No setuptools distribution found
running install
Checking .pth file support in /usr/local/lib/python3.3/site-packages/
/Users/victor/myvenv/bin/python -E -c pass
TEST FAILED: /usr/local/lib/python3.3/site-packages/ does NOT support .pth files
error: bad install directory or PYTHONPATH
You are attempting to install a package to a directory that is not
on PYTHONPATH and which Python does not read ".pth" files from. The
installation directory you specified (via --install-dir, --prefix, or
the distutils default setting) was:
/usr/local/lib/python3.3/site-packages/
and your PYTHONPATH environment variable currently contains:
''
无论我尝试使用distribute_setup.py
或直接使用源代码分发安装,都会发生这种情况。我什至尝试过使用--prefix=/Users/victor/myenv
,但它仍然尝试将所有内容放入我的“全局”站点包中。
我不知道为什么会发生这种情况,但它在我的两台机器上是一致的。注意sys.prefix
报告正确的路径(虚拟环境)。
这是 Homebrew 的问题吗?操作系统?蟒蛇 3.3?venv? 我?