1.缘起:软件更新过程中出现的问题
我们一般安装一个软件,比如英雄联盟,因为版本的更新,后面的软件更新后,会替换前面的软件,旧版本和新版本的两个软件版本不能同时共存在一个同一个终端中,家庭用户使用中无所谓,但是在程序开发中是不行的
2.虚拟环境
python从早期的2.7版本,到目前迭代的3.8版本过程中,每个版本都有大量的开发人员在使用,比如这个项目中用的是python2.7版本开发,下一个项目又可能用python3.6版本开发,虽然都是python开发,但总不能每次都把前一个版本卸载了,在重新安装需要的版本,多版本并行开发维护时会很麻烦.
这个时候,虚拟环境应用而生,虚拟环境的作用可以隔离各个版本,让不同python环境的不同项目同时共存在一台电脑上,互不影响.
3.什么是anaconda?
将虚拟环境和python安装包整合集成在一起的一个软件,用来配置共存不同环境的不同项目,方便广大程序员在开发中简化操作
anaconda官方网站 : https://www.anaconda.com/distribution/
切换到家目录:
bash ~/下载目录/Anaconda3-2019.10-Linux-x86_64.sh
wangwen@wangwen-virtual-machine:~$ bash ~/mysoft/Anaconda3-2019.10-Linux-x86_64.sh
Welcome to Anaconda3 2019.10
In order to continue the installation process, please review the license
agreement.
Please, press ENTER to continue
>>>
# 一路回车,然后到下面的提示:
Please answer 'yes' or 'no':'
>>> yes
Anaconda3 will now be installed into this location:
/home/wangwen/anaconda3
- Press ENTER to confirm the location
- Press CTRL-C to abort the installation
- Or specify a different location below
[/home/wangwen/anaconda3] >>>
# 直接回车
[/home/wangwen/anaconda3] >>>
PREFIX=/home/wangwen/anaconda3 (这个路径是anaconda3默认安装路径)
Unpacking payload ...
by running conda init? [yes|no]
[no] >>> yes
# 看到这个字眼就是安装成功
Thank you for installing Anaconda3!
===========================================================================
执行如下命令使安装生效:
source ~/.bashrc
确认安装的版本:
conda --version
进入到conda预设的虚拟环境(base)当中:
#/home/wangwen/anaconda3/envs
conda activate
退出虚拟环境:
conda deactivate
创建属于自己的python3.7这个虚拟环境:
conda create -n venv1 python=3.7
切换到venv1这个虚拟环境中
conda activate venv1
安装第三方模块包:(比如requests模块)
#我的系统路径:/home/wangwen/anaconda3/lib/python3.7/site-packages
conda install requests
更新request模块包
conda update requests 更新requests包
卸载第三方模块包
conda uninstall requests
要查看当前环境中所有安装了的包可以用
conda list
导出目前的环境配置(切换到你想要保存的目录中)
conda env export > venv1.yaml
导入目前的环境配置
conda env create -n venv2 -f venv1.yaml
替换当前版本的python环境
conda install python=3.8
查看所有的虚拟环境版本:
conda env list
删除虚拟环境
conda remove -n venv2
安装完anaconda之后,默认已经安装了jupyter notebook(直接在终端敲入如下命令)
jupyter notebook
卸载anaconda:
# (1).删除anaconda3的目录
rm -rf ~/anaconda3
# (2).删除系统中的环境变量
sudo gedit ~/.bashrc
# (3)把文档中下面两个注释之间的部分全部删除
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/home/wangwen/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/home/wangwen/anaconda3/etc/profile.d/conda.sh" ]; then
. "/home/wangwen/anaconda3/etc/profile.d/conda.sh"
else
export PATH="/home/wangwen/anaconda3/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda initialize <<<
# (4)更新环境变量,使更改生效
source ~/.bashrc
wangwen@wangwen-virtual-machine:~$ conda create -n venv1 python=3.7
Collecting package metadata (current_repodata.json): done
Solving environment: done
## Package Plan ##
environment location: /home/wangwen/anaconda3/envs/venv1
added / updated specs:
- python=3.7
The following packages will be downloaded:
package | build
---------------------------|-----------------
ca-certificates-2019.11.27 | 0 132 KB
certifi-2019.11.28 | py37_0 156 KB
openssl-1.1.1d | h7b6447c_3 3.7 MB
pip-19.3.1 | py37_0 1.9 MB
python-3.7.5 | h0371630_0 32.2 MB
setuptools-42.0.2 | py37_0 646 KB
sqlite-3.30.1 | h7b6447c_0 1.9 MB
------------------------------------------------------------
Total: 40.6 MB
The following NEW packages will be INSTALLED:
_libgcc_mutex pkgs/main/linux-64::_libgcc_mutex-0.1-main
ca-certificates pkgs/main/linux-64::ca-certificates-2019.11.27-0
certifi pkgs/main/linux-64::certifi-2019.11.28-py37_0
libedit pkgs/main/linux-64::libedit-3.1.20181209-hc058e9b_0
libffi pkgs/main/linux-64::libffi-3.2.1-hd88cf55_4
libgcc-ng pkgs/main/linux-64::libgcc-ng-9.1.0-hdf63c60_0
libstdcxx-ng pkgs/main/linux-64::libstdcxx-ng-9.1.0-hdf63c60_0
ncurses pkgs/main/linux-64::ncurses-6.1-he6710b0_1
openssl pkgs/main/linux-64::openssl-1.1.1d-h7b6447c_3
pip pkgs/main/linux-64::pip-19.3.1-py37_0
python pkgs/main/linux-64::python-3.7.5-h0371630_0
readline pkgs/main/linux-64::readline-7.0-h7b6447c_5
setuptools pkgs/main/linux-64::setuptools-42.0.2-py37_0
sqlite pkgs/main/linux-64::sqlite-3.30.1-h7b6447c_0
tk pkgs/main/linux-64::tk-8.6.8-hbc83047_0
wheel pkgs/main/linux-64::wheel-0.33.6-py37_0
xz pkgs/main/linux-64::xz-5.2.4-h14c3975_4
zlib pkgs/main/linux-64::zlib-1.2.11-h7b6447c_3
Proceed ([y]/n)? y
网友评论