Linux 的 Anaconda 3 没有 ensurepip?
Anaconda 3 for Linux Has No ensurepip?
这是我的环境:
CentOS 64 位 7.2.1511
蟒蛇 3 4.1.1 64 位(Python3.5.2)
我想通过pyvenv
创建venv虚拟环境。不幸的是,我收到了这条错误信息:
$ pyvenv test
Error: Command '['/root/test/bin/python', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1
网上查了一下,说是模块ensurepip
不见了。我检查了我的 Anaconda 安装路径 /opt/anaconda3/lib/python3.5
。没有ensurepip文件夹。
然后,在我的 Windows 10 64 位上,我检查了我的 Anaconda 安装路径 D:\win10\Anaconda3\Lib\
。有一个ensurepip文件夹!而且我可以成功运行python -m venv test
创建一个venv.
然后,我检查了下载 Anaconda python 档案:
D:\win10\Anaconda3\pkgs\python-3.5.2-0.tar.bz2
在 Windows 10
和
/opt/anaconda3/pkgs/python-3.5.2-0.tar.bz2
在 CentOS 7 上。
Windows10 上的一个存档确实有一个 ensurepip 子文件夹。但是 CentOS 7 上的没有!
有人知道这个区别吗?是 Anaconda 的 bug 吗?
是的,Anaconda3/2 Linux 和 Mac OS 没有安装 ensurepip
。
根据 this issue record,这不是错误,这是 有意 在编译 Anaconda 中的 Python 时 --with-ensurepip=install
]旗帜。
我认为(Continuum Analytics)的基本原理是,在 Anaconda Distribution 中,conda
是管理包和虚拟环境的老板,
pip (and it's setuptools dependency) are installed independent of Python as conda packages.
因此,您可以先 运行 pyvenv test --without-pip
而不是 运行 宁 pyvenv test
,然后从 pip's homepage 下载 get-pip.py
,然后在 activated test
venv.
中安装 pip
就像下面这样:
$ #===== First create the venv without pip, and **activate** it.
$ pyvenv test --without-pip
$ cd test/
$ ls bin/
activate activate.csh activate.fish python@ python3@
$ echo $PATH
Whatever/Else:In/Your/System
$ source bin/activate
(test) $ echo $PATH
/Users/YaOzI/test/bin:Whatever/Else:In/Your/System
(test) $
(test) $ #===== Then install the pip independently.
(test) $ python ~/Downloads/get-pip.py
Collecting pip
Using cached pip-8.1.2-py2.py3-none-any.whl
Collecting setuptools
Downloading setuptools-26.0.0-py2.py3-none-any.whl (459kB)
100% |████████████████████████████████| 460kB 1.3MB/s
Collecting wheel
Downloading wheel-0.29.0-py2.py3-none-any.whl (66kB)
100% |████████████████████████████████| 71kB 5.7MB/s
Installing collected packages: pip, setuptools, wheel
Successfully installed pip-8.1.2 setuptools-26.0.0 wheel-0.29.0
(test) $ ls bin/
activate activate.fish easy_install-3.5* pip3* python@ wheel*
activate.csh easy_install* pip* pip3.5* python3@
(test) $
(test) $ #===== Now you can play around with pip
(test) $ pip list
(test) $
这是我的环境:
CentOS 64 位 7.2.1511
蟒蛇 3 4.1.1 64 位(Python3.5.2)
我想通过pyvenv
创建venv虚拟环境。不幸的是,我收到了这条错误信息:
$ pyvenv test
Error: Command '['/root/test/bin/python', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1
网上查了一下,说是模块ensurepip
不见了。我检查了我的 Anaconda 安装路径 /opt/anaconda3/lib/python3.5
。没有ensurepip文件夹。
然后,在我的 Windows 10 64 位上,我检查了我的 Anaconda 安装路径 D:\win10\Anaconda3\Lib\
。有一个ensurepip文件夹!而且我可以成功运行python -m venv test
创建一个venv.
然后,我检查了下载 Anaconda python 档案:
D:\win10\Anaconda3\pkgs\python-3.5.2-0.tar.bz2
在 Windows 10
和
/opt/anaconda3/pkgs/python-3.5.2-0.tar.bz2
在 CentOS 7 上。
Windows10 上的一个存档确实有一个 ensurepip 子文件夹。但是 CentOS 7 上的没有!
有人知道这个区别吗?是 Anaconda 的 bug 吗?
是的,Anaconda3/2 Linux 和 Mac OS 没有安装 ensurepip
。
根据 this issue record,这不是错误,这是 有意 在编译 Anaconda 中的 Python 时 --with-ensurepip=install
]旗帜。
我认为(Continuum Analytics)的基本原理是,在 Anaconda Distribution 中,conda
是管理包和虚拟环境的老板,
pip (and it's setuptools dependency) are installed independent of Python as conda packages.
因此,您可以先 运行 pyvenv test --without-pip
而不是 运行 宁 pyvenv test
,然后从 pip's homepage 下载 get-pip.py
,然后在 activated test
venv.
就像下面这样:
$ #===== First create the venv without pip, and **activate** it.
$ pyvenv test --without-pip
$ cd test/
$ ls bin/
activate activate.csh activate.fish python@ python3@
$ echo $PATH
Whatever/Else:In/Your/System
$ source bin/activate
(test) $ echo $PATH
/Users/YaOzI/test/bin:Whatever/Else:In/Your/System
(test) $
(test) $ #===== Then install the pip independently.
(test) $ python ~/Downloads/get-pip.py
Collecting pip
Using cached pip-8.1.2-py2.py3-none-any.whl
Collecting setuptools
Downloading setuptools-26.0.0-py2.py3-none-any.whl (459kB)
100% |████████████████████████████████| 460kB 1.3MB/s
Collecting wheel
Downloading wheel-0.29.0-py2.py3-none-any.whl (66kB)
100% |████████████████████████████████| 71kB 5.7MB/s
Installing collected packages: pip, setuptools, wheel
Successfully installed pip-8.1.2 setuptools-26.0.0 wheel-0.29.0
(test) $ ls bin/
activate activate.fish easy_install-3.5* pip3* python@ wheel*
activate.csh easy_install* pip* pip3.5* python3@
(test) $
(test) $ #===== Now you can play around with pip
(test) $ pip list
(test) $