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


    这篇文章主要介绍了ubuntu系统下Python虚拟环境的安装和使用教程。
    python3.8.5安装请参考博文:https://www.cnblogs.com/netflix/p/15026768.html
    本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

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

    安装虚拟环境

    可以使用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
    # 虚拟环境搭建测试完毕。。。
    

    虚拟环境的查看和使用

    • 创建虚拟环境 mkvirtualenv -p python版本 [虚拟环境名称]
    ubuntu@ubuntu:~$ mkvirtualenv -p /usr/bin/python3 python361
    created virtual environment CPython3.6.1.final.0-64 in 1058ms
      creator CPython3Posix(dest=/home/ubuntu/.virtualenvs/python361, clear=False, no_vcs_ignore=False, global=False)
      seeder FromAppData(download=False, pip=bundle, wheel=bundle, setuptools=bundle, via=copy, app_data_dir=/home/ubuntu/.local/share/virtualenv)
        added seed packages: pip==21.1.3, setuptools==57.1.0, wheel==0.36.2
      activators PythonActivator,FishActivator,XonshActivator,CShellActivator,PowerShellActivator,BashActivator
    virtualenvwrapper.user_scripts creating /home/ubuntu/.virtualenvs/python361/bin/predeactivate
    virtualenvwrapper.user_scripts creating /home/ubuntu/.virtualenvs/python361/bin/postdeactivate
    virtualenvwrapper.user_scripts creating /home/ubuntu/.virtualenvs/python361/bin/preactivate
    virtualenvwrapper.user_scripts creating /home/ubuntu/.virtualenvs/python361/bin/postactivate
    virtualenvwrapper.user_scripts creating /home/ubuntu/.virtualenvs/python361/bin/get_env_details
    
    • 删除虚拟环境 rmvirtualenv [虚拟环境名称]
    ubuntu@ubuntu:~$ rmvirtualenv mywork
    
    注意:如果目前的位置在虚拟环境中,需要先退出虚拟环境,然后才能执行删除
     注意:可以在任何目录执行删除操作,如果不知道名字,可以rmvirtualen + 两次Tab键,提示所有的虚拟环境
    
    • 进入虚拟环境   workon [虚拟环境名称]
    ubuntu@ubuntu:~$ workon python361
    (python361) ubuntu@ubuntu:~$ 
    
    注意:按workon+两次Tab键会提示所有虚拟环境。
    
    • 退出虚拟环境   deactivate
    (python361) ubuntu@ubuntu:~$ deactivate 
    ubuntu@ubuntu:~$
    
    • 查看虚拟环境中安装的python包
    pip list
    pip freeze
    

    说明

    两个命令都可以查询,只是展示的形式不一样。
    - 在虚拟环境下安装python包
    	进入虚拟环境,在终端输入:  pip install 包的名字
    	注意:一定不要使用sudo pip ... ,这里是在虚拟环境中安装python包
    	如果使用了sudo权限,python包会被安装在主机非虚拟环境下,在虚拟环境中找不到这个包
    

    总结

    以上所述是小编给大家介绍的ubuntu系统下Python虚拟环境的安装和使用教程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

  • 相关阅读:
    最近看代码查到的一些函数,稍作整理(2022.4.1)
    Pytorch的repeat函数
    随机数使用小技巧
    Pytorch的Normal
    OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized.报错解决办法
    pytorch tensor索引中的none含义
    scheduled sampling 待完善
    Pytorch的nn.Sequential(*modules)中*的理解
    EOFError: Ran out of input报错解决
    conda安装包报错RemoveError:requests is a dependency of conda and cannot be removed from conda
  • 原文地址:https://www.cnblogs.com/netflix/p/14884985.html
Copyright © 2020-2023  润新知