Virtualenv没有安装pip

Fel*_*lix 5 python macos pip virtualenv python-3.x

python3通过自制软件安装,更新pip并通过setuptools安装.现在我正在尝试创建虚拟环境.不幸的是,我无法将它添加到virtualenv.基本上:virtualenvpip

$ ls -lha venv/bin/
total 80
drwxr-xr-x  9 foghin  staff   306B Jan 19 17:16 .
drwxr-xr-x  6 foghin  staff   204B Jan 19 17:16 ..
-rw-r--r--  1 foghin  staff   2.2K Jan 19 17:16 activate
-rw-r--r--  1 foghin  staff   1.2K Jan 19 17:16 activate.csh
-rw-r--r--  1 foghin  staff   2.4K Jan 19 17:16 activate.fish
-rw-r--r--  1 foghin  staff   1.1K Jan 19 17:16 activate_this.py
lrwxr-xr-x  1 foghin  staff     7B Jan 19 17:16 python -> python3
-rwxr-xr-x  1 foghin  staff    13K Jan 19 17:16 python3
lrwxr-xr-x  1 foghin  staff     7B Jan 19 17:16 python3.3 -> python3
Run Code Online (Sandbox Code Playgroud)

AFAIK pip也应该在那里.创建具有高详细程度的虚拟环境会产生以下结果:

Installing setuptools, pip...
  Running command /Users/foghin/code/tastekid/venv/bin/python3 -c "import sys, pip; pip...ll\"] + sys.argv[1:])" setuptools pip
  Ignoring indexes: https://pypi.python.org/simple/
  Requirement already satisfied (use --upgrade to upgrade): setuptools in /usr/local/lib/python3.3/site-packages
  Requirement already satisfied (use --upgrade to upgrade): pip in /usr/local/lib/python3.3/site-packages
  Cleaning up...
...Installing setuptools, pip...done.
Run Code Online (Sandbox Code Playgroud)

这意味着我在激活虚拟环境时安装的所有软件包都会转到我的全局站点packages(/usr/local/lib/python3.3/site-packages),但它们不会被沙盒python选中.

如何才能virtualenv在我的本地环境中正确安装pip?

更新: virtualenv版本是1.11.

Jac*_*din 1

截至撰写本文时,Homebrew 安装了 Python 3.3.3 ( $ brew info python3)。

从 Python 3.3 开始,Python 的标准库现在包含自己的虚拟环境实现,并且不需要 virtualenv 包。请参阅venv模块文档。对于 Homebrew Python 3 包,命令行工具名为pyvenv-3.3.

我相信使用此实现应该可以解决您遇到的问题。

  • 我也尝试过“pyvenv”,但它明确不安装“pip”和“setuptools”。我最终在虚拟环境中手动安装它们,这似乎有效。然而,这仍然没有回答为什么“virtualenv”不能像宣传的那样工作。 (3认同)