ubuntu 虚拟环境安装,创建python3.5和python3.8虚拟环境

新的ubuntu20.0.4笔记本上自带点python是python3.8版本的,由于开发需要用到python3.5,一开始想把默认环境配置成python3.5算了。结果改了默认配置版本之后,坏了坏了,开机就报错,直接就进不了桌面界面了。所以,ubtuntu环境,要不是非常非常确定可以改版本,那就千万不要改系统自带的python默认版本,千万不要改系统默认的python默认版本。

所以,咱们还是配置几个虚拟环境玩吧~

  1. 在ubuntu终端上安装virtualenv。使用以下命令安装:

    sudo apt install python3-dev python3-venv python3-pip -y
    sudo apt install python3-virtualenv
    python35 -m pip install virtualenv

  2. 创建虚拟环境

    创建虚拟环境目录

    mkdir .virtualenv

    进入目录

    cd .virtualenv

    创建python3.5 版本的虚拟环境名字为:py35,你也可以改成任何自己想要的名字

    python3.5 -m venv ./py35

    创建python3.8 版本的虚拟环境名字为:py38,你也可以改成任何自己想要的名字

    python3.8 -m venv ./py38

3.激活虚拟环境

复制代码
source .virtualenv/py35/bin/active
#出现(py35) 开头的行,说明已经成功进入虚拟环境了
(py35) 

4.退出虚拟环境

复制代码
deactivate

结束!!! 到此就可以愉快的使用了~~~

下面说一下踩到的坑~

  1. 安装完虚拟环境后,我在网上看到别人是用以下方法创建新的virtualenv,但当我尝试使用

    virtualenv -p python3 venv

我得到以下错误:

复制代码
AttributeError: module 'virtualenv.create.via_global_ref.builtin.cpython.mac_os' has no attribute 'CPython2macOsArmFramework'

我尝试了很多方法,最终还是选择使用以下方法成功

复制代码
#./py35 是新创建的虚拟环境名字和目录,可以更换成自己的
python3.5 -m venv ./py35
  1. Virtaulenvwrapper是virtualenv的扩展包,用于更方便管理虚拟环境,但是当我安装完成启用的时候,报错了

    #安装
    sudo apt-get install python-virtualenv
    python35 -m pip install virtualenvwrapper -i https://pypi.douban.com/simple/

    #查看是否生成文件
    whereis virtualenvwrapper.sh
    virtualenvwrapper: /usr/local/bin/virtualenvwrapper.sh

    #启用
    source /usr/local/bin/virtualenvwrapper.sh

    #创建虚拟环境的时候报错
    mkvirtualenv -p /usr/local/bin/python3.5 env1
    #报错
    sudo: mkvirtualenv:找不到命令

    #这句也报错
    mkvirtualenv env
    AttributeError: module 'virtualenv.create.via_global_ref.builtin.cpython.mac_os' has no attribute 'CPython2macOsFramework'

这个错,暂时还没解决,等有空了再研究下,解决了再来更新

相关推荐
phoenix09814 分钟前
Linux入门DAY27
linux·运维·服务器
♞沉寂2 小时前
信号以及共享内存
linux·c语言·开发语言
egoist20233 小时前
【Linux仓库】进程创建与进程终止【进程·柒】
linux·运维·服务器·进程创建·写时拷贝·进程终止
大锦终3 小时前
【Linux】文件系统
linux·服务器·c++
赴3355 小时前
Xftp8传输文件与 Linux 系统 Anaconda 安装
linux·anaconda·xftp
源远流长jerry5 小时前
STM32之MCU和GPIO
linux·c++·stm32·单片机·嵌入式硬件
华纳云IDC服务商5 小时前
服务器Linux防火墙怎样实现访问控制
linux·运维·服务器
胡桃不是夹子6 小时前
linux系统装google chrome,amd64
linux·运维·chrome
睡觉z11 小时前
Jenkins持续集成系统
运维·ci/cd·jenkins