码迷,mamicode.com
首页 > 编程语言 > 详细

Ubuntu20.04下安装Python3.8.5虚拟环境

时间:2021-06-15 18:33:12      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:退出   执行   成功   消失   init   介绍   script   problem   eating   

这篇文章主要介绍了ubuntu系统下Python虚拟环境的安装和使用教程,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

前言:进行python项目开发的时候,由于不同的项目需要使用不同的资源包和相关的配置,因此创建多个python虚拟环境,在虚拟环境下开发就显得很有必要。

安装虚拟环境

sudo apt install python-virtualenv
sudo easy_install virtualenvwrapper

说明:以上两条命令逐条执行,完成后虚拟环境安装完毕。
或者可以使用pip安装,前提是安装了pip,一般python自带了pip

sudo pip install virtualenv
sudo pip install virtualenvwrapper

说明:安装的结果一模一样,使用任意一种即可。
virtualenv是虚拟环境,virtualenvwrapper对virtualenv的命令进行了封装,使得其更加友好。
注意:安装的顺序不能颠倒,virtualenvwrapper必须依赖于virtualenv。

创建虚拟环境

  • 在终端输入如下命令:  mkvirtualenv 虚拟环境名称
如: mkvirtualenv mywork    //会创建一个名为mywork的虚拟环境
创建的虚拟环境都保存在  /home/.virtualenvs  目录下,可以进入这个目录查看;
创建成功后会自动进入该虚拟环境,命令行提示改变;
  • 指定python版本创建虚拟环境:    mkvirtualenv -p python路径 虚拟环境名称
上面的命令执行时,系统会创建默认的python版本的开发环境,一般大家的电脑会同时安装python2和python3版本,有时需要不同的版本创建虚拟环境。
例:  mkvirtualenv -p /usr/bin/python3 mywork
 -p 指的是path的简写Py安装的路径,默认安装在/usr/bin/目录下;
如果一时间找不到,使用命令:  whereis python3
在终端命令行搜索,会出现想要的路径。

细节:不需要进入到/home/.virtualenvs目录,在任何目录下都可以执行命令,创建的虚拟环境的位置都一样。
注意:创建虚拟环境是需要在联网下进行,否则创建失败。
注意:使用mkvirtualenv创建虚拟环境,可能提示找不到命令,一般是脚本文件没有加入系统路径,解决如下:

方法一:

# 找到virtualenvwrapper的脚本文件 
whereis virtualenvwrapper
# 进入该目录 
cd /usr/local/python3/bin
# 执行脚本文件激活 virtualenvwrapper  
source virtualenvwrapper.sh
# 可以正常使用命令了

方法二:

# 方法一每次重启后都需要手动激活,不方便,将命令添加到环境变量
sudo vi ~/.bashrc
# 在末尾添加一行
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
# 保存后执行
source ~/.bashrc
# 现在可以正常使用命令了,且每次重启主机自动加载命令

如何解决ubuntu系统下source: not found错误?

若在ubuntu系统下运行含有source命令的shell脚本时,出现source: not found错误,原因可能是shell的解释器不是bash,需把shell的解释器更改为bash。

  • 请按以下步骤更改shell的解释器:
    执行ls -l /bin/sh命令,若得到结果/bin/sh -> dash,则说明shell的解释器为dash。
    执行dpkg-reconfigure dash命令,然后选择no。
    注意 此步骤需要root权限。
    再次执行ls -l /bin/sh命令,若得到结果/bin/sh -> bash,则说明成功更改shell的解释器为bash。

如何解决ubuntu系统下Command ‘‘ not found, but can be installed with:错误?

由于在ubuntu20.04环境下,将python做与python3.8做了软链接(ln -s python python3.8),并且pip也被我做了软链接,所以导致用pip安装virtualenvwrapper之后,在source启动virtualenvwrapper.sh时以及workon 虚拟环境时总是报错:

root@ubuntu:~# source ~/.bashrc

Command ‘‘ not found, but can be installed with:

apt install mailutils-mh  # version 1:3.7-2.1, or
apt install meshio-tools  # version 4.0.4-1
apt install mmh           # version 0.4-2
apt install nmh           # version 1.7.1-6
apt install termtris      # version 1.3-1

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.

结合错误信息与提示找到的语句,猜测应该是VIRTUALENVWRAPPER_PYTHON这里有问题,然后在virtualenvwrapper.sh文件中查找VIRTUALENVWRAPPER_PYTHON,发现了关键点:

# 47行
# Locate the global Python where virtualenvwrapper is installed.
if [ "${VIRTUALENVWRAPPER_PYTHON:-}" = "" ]
then
    VIRTUALENVWRAPPER_PYTHON="$(command \which python3)"
fi

VIRTUALENVWRAPPER_PYTHON是用来(Locate the global Python where virtualenvwrapper is installed.)定位哪个python下面安装了virtualenvwrapper的。原本指定的位置是python,也就是2.7版本的。鉴于之前我使用python3.8安装的,所以此处要改成python3。然后这个错误就消失了。

root@ubuntu:~# source ~/.bashrc
virtualenvwrapper.user_scripts creating /root/.virtualenvs/premkproject
virtualenvwrapper.user_scripts creating /root/.virtualenvs/postmkproject
virtualenvwrapper.user_scripts creating /root/.virtualenvs/initialize
virtualenvwrapper.user_scripts creating /root/.virtualenvs/premkvirtualenv
virtualenvwrapper.user_scripts creating /root/.virtualenvs/postmkvirtualenv
virtualenvwrapper.user_scripts creating /root/.virtualenvs/prermvirtualenv
virtualenvwrapper.user_scripts creating /root/.virtualenvs/postrmvirtualenv
virtualenvwrapper.user_scripts creating /root/.virtualenvs/predeactivate
virtualenvwrapper.user_scripts creating /root/.virtualenvs/postdeactivate
virtualenvwrapper.user_scripts creating /root/.virtualenvs/preactivate
virtualenvwrapper.user_scripts creating /root/.virtualenvs/postactivate
virtualenvwrapper.user_scripts creating /root/.virtualenvs/get_env_details
# 虚拟环境搭建测试完毕。。。

虚拟环境的查看和使用

  • 删除虚拟环境 rmvirtualenv [虚拟环境名称]

    例: rmvirtualenv mywork

    注意:如果目前的位置在虚拟环境中,需要先退出虚拟环境,然后才能执行删除

    注意:可以在任何目录执行删除操作,如果不知道名字,可以rmvirtualen + 两次Tab键,提示所有的虚拟环境

  • 退出虚拟环境   deactivate

  • 进入虚拟环境   workon [虚拟环境名称]
    例: workkon mywork
    注意:按workon+两次Tab键会提示所有虚拟环境。

  • 查看虚拟环境中安装的python包

pip list
pip freeze

两个命令都可以查询,只是展示的形式不一样。

  • 在虚拟环境下安装python包
    进入虚拟环境,在终端输入:  pip install 包的名字
    注意:一定不要使用sudo pip ... ,这里是在虚拟环境中安装python包
    如果使用了sudo权限,python包会被安装在主机非虚拟环境下,在虚拟环境中找不到这个包

总结

以上所述是小编给大家介绍的ubuntu系统下Python虚拟环境的安装和使用教程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
————————————————
参考博文:
原文链接:https://blog.csdn.net/sirobot/article/details/106888683

Ubuntu20.04下安装Python3.8.5虚拟环境

标签:退出   执行   成功   消失   init   介绍   script   problem   eating   

原文地址:https://www.cnblogs.com/netflix/p/14884985.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!