ubuntu20.04.1创建python虚拟环境及安装flask

本文介绍了如何在Linux环境下安装和配置虚拟环境,包括使用virtualenv和virtualenvwrapper创建、激活和管理虚拟环境。过程中遇到的问题如找不到virtualenv包和初始化hooks权限不足等,通过更换源和修改环境变量得以解决。此外,还对比了virtualenv与conda的虚拟环境管理,并推荐使用Anaconda或Miniconda作为更简便的选择。

安装及配置虚拟环境(不推荐)

  1. sudo apt-get install python3-pip # 之前安装mysql时已安装
  2. pip3 install virtualenv # 早期的。CentOS8(腾讯云)安装若报Could not find a version that satisfies the requirement virtualenv (from versions: )No matching distribution found for virtualenv,可加-vvv参数查看详细报错,我这的详细报错里有一句Could not fetch URL https://pypi.doubanio.com/simple/virtualenv/: 404 Client Error: Not Found for url: https://pypi.doubanio.com/simple/virtualenv/ - skipping,结合这些报错可以确定豆瓣源中没有virtualenv,因这台服务器的默认源是豆瓣,所以可以临时用阿里源安装,pip3 install virtualenv -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com,--trusted-host是为了获得ssl证书的认证,也可以直接将豆瓣源修改为阿里源。参考链接4,参考链接5
  3. pip3 install virtualenvwrapper # 现在的,需先安装virtualenv。CentOS8(腾讯云)安装若报错,同上
  4. mkdir ~/.virtualenvs # 创建存放虚拟环境的目录,以后新建的虚拟环境都在这
  5. vim ~/.bashrc # 文件末尾添加下面的代码(我用zsh所以我编辑的~/.zshrc)
    export WORKON_HOME=$HOME/.virtualenvs
    export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 # 定位哪个python下面安装了virtualenvwrapper,不加的话最后source ~/.bashrc会报错,详情在本部分末尾
    export VIRTUALENVWRAPPER_VIRTUALENV=$HOME/.local/bin/virtualenv # 指定virtualenv的路径,不加的话最后source ~/.bashrc会报错找不到virtualenv,参考链接https://www.cnblogs.com/linga/p/11588223.html
    source $HOME/.local/bin/virtualenvwrapper.sh # 也可能在/usr/local/bin/virtualenvwrapper.sh,CentOS就是,可根据sudo find / -name virtualenvwrapper.sh查看具体位置,且若修改这里,上一行也要改为/usr/local/bin/virtualenv
    # alias mkvirtualenv='mkvirtualenv -p /usr/bin/python' # 如果有多个python版本,可针对不同版本起别名,这样创建的虚拟环境中就是对应的python版本,ubuntu20.04.1只有python3,且默认软连接指向python3.8(ls /usr/bin/ -l。及终端可执行python3,不可执行python、python2),所以不用做
    # alias mkvirtualenv3='mkvirtualenv -p /usr/bin/python3'

  6. 然后source ~/.bashrc(我用zsh所以我重新加载~/.zshrc)

不加上面代码第二行,执行第6步的报错:

source ~/.zshrc
virtualenvwrapper_run_hook:12: 权限不够: 
virtualenvwrapper.sh: There was a problem running the initialization hooks.

If Python could not import the module virtualenvwrapper.hook_loader,
check that virtualenvwrapper has been installed for
VIRTUALENVWRAPPER_PYTHON= and that PATH is
set properly.

解决方法就是加上上面代码的第二行,参考链接1,参考链接2,参考链接3

虚拟环境的使用(不推荐)

virtualenv和virtualenvwrapper都可以创建、启动、退出虚拟环境

virtualenv:

  • 创建虚拟环境:virtualenv venv
  • 启动虚拟环境:source venv/bin/activate
  • 退出虚拟环境:deactivate

virtualenvwrapper:

  • 查看虚拟环境:lsvirtualenv 或 workon
  • 创建虚拟环境:mkvirtualenv 虚拟环境名 # 如果前面起了别名,这里根据需要用对应的别名
  • 使用/切换虚拟环境:workon 虚拟环境名
  • 退出虚拟环境:deactivate
  • 删除虚拟环境:rmvirtualenv 虚拟环境名

安装flask

  1. mkvirtualenv flask # 创建虚拟环境,名为flask,位置在前面设置的 ~/.virtualenvs里。如果前面起了别名,这里根据需要用对应的别名
  2. workon flask # 使用虚拟环境
  3. pip install flask # 在当前虚拟环境内安装flask

另外两种虚拟环境(推荐)

virtualenv和virtualenvwrapper的安装和使用有点麻烦,现在又了解到另外两种虚拟环境,推荐Anaconda或Miniconda。

pipenv

参考链接6,官方GitHub

Anaconda或Miniconda

Conda简介

Conda是一个开源的软件包管理系统和环境管理系统,可在Windows,macOS和Linux上运行。Conda 可快速安装、运行和更新软件包及其依赖项。Conda 可在本地计算机上轻松创建、保存、加载环境并在环境之间切换。它是为Python程序创建的,但它可以打包和分发任何语言的软件。

Conda 作为包管理器可帮助您查找和安装包。如果你需要一个需要不同版本的Python的包,你不需要切换到不同的环境管理器,因为conda也是一个环境管理器。只需几个命令,您就可以设置一个完全独立的环境来运行不同版本的Python,同时继续在正常环境中运行您通常版本的Python。

conda 包和环境管理器包含在所有版本的 Anaconda 和 Miniconda 中。

Anaconda和Miniconda

Anaconda包含conda、Python、一大堆包(你不一定用得上),所以体积大,几百兆。

Miniconda包含conda、Python,算是Anaconda的精简版,体积小,用什么包就装什么包,我用的这个。官方下载链接

安装好后建议换为国内源再使用,和为linux、python换源一个道理。

具体使用方法:

Miniconda安装及使用--小白上路 - 知乎 (zhihu.com)

conda的安装与使用(2021-04-27更新) - 简书 (jianshu.com)

安装好后,再安装flask时对应的命令不再是前面我写的命令,而应用conda的安装命令。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值