Python虚拟环境的搭建

我使用的Ubuntu18已经自带了pyhon3.6,现在我想用pip安装一些其它的应用的版本和现有的有冲突,为了防止冲突,我需要另一个python环境。

python的安装

这里因为是在Linux系统上,所以使用源码安装。PythonSource下载ptyhon3.8的源码

解压后进入Python-3.8.1文件夹,执行命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
$ ./configure
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking for python3.8... no
checking for python3... python3
checking for --enable-universalsdk... no
checking for --with-universal-archs... no
checking MACHDEP... "linux"
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in `/home/void/Python-3.8.1':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details

出错了,我们竟然没有gcc,cc和cl也没有。

安装依赖

安装python前先安装需要的依赖软件,如果已经安装则不需要再安装

如果是新安装的系统先更新下apt:

1
$ sudo apt-get update

先安装gcc:

1
2
3
4
5
6
7
$ sudo apt install gcc

......
......

$ gcc --version
gcc (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0

安装g++

1
2
3
4
5
6
7
$ sudo apt install g++

......
......

$ g++ --version
g++ (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0

连make也没有,安装make

1
2
3
4
5
6
7
$ sudo apt install make

......
......

$ make -v
GNU Make 4.1

安装其它依赖:

1
sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl

构建Python

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$ ./configure
......
......
creating Modules/Setup.local
creating Makefile

$ make
......
......
Python build finished successfully!

$ sudo make altinstall
......
......
Installing collected packages: setuptools, pip
Successfully installed pip-19.2.3 setuptools-41.2.0

If you want a release build with all stable optimizations active (PGO, etc),
please run ./configure –enable-optimizations

警告 make install 可以覆盖或伪装 python3 二进制文件。因此,建议使用 make altinstall 而不是 make install ,因为后者只安装了 exec_prefix/bin/pythonversion 。

检查安装是否成功

1
2
3
4
$ python3.8 --version
Python 3.8.1
$ pip3.8 --version
pip 19.2.3 from /usr/local/lib/python3.8/site-packages/pip (python 3.8)

顺便更新下pip

1
$ sudo pip3.8 install --upgrade pip

安装虚拟环境

virtualenv是用来创建一个单独的Python运行环境的工具。

1
$ sudo pip3.8 install virtualenv

安装virtualenv好后就可以创建一个单独python环境了

1
2
3
4
5
先创建一个存放python环境的文件夹
$ mkdir pyvenv
$ cd pyenv
创建环境
$ sudo virtualenv env

新建一个名为env的虚拟环境,并在当前目录下新建同名文件夹

虚拟环境的使用

使用source命令执行虚拟环境目录中bin/activate文件,将激活虚拟环境,命令行前出现(环境名)表示已在虚拟环境中

激活并使用虚拟环境

1
2
$ source env/bin/activate
(env) []$ deactive

退出环境
执行命令deactivate退出虚拟环境

0%