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'

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

相关推荐
江公望8 分钟前
Qt enum ApplicationAttribute枚举值浅解
linux·qt
Yuki’27 分钟前
Linux系统的ARM库移植
linux·arm开发
报错小能手38 分钟前
linux学习笔记(51)Redis发布订阅 主从复制 缓存 雪崩
linux·笔记·学习
塔能物联运维1 小时前
物联网运维中的容器化服务部署与弹性扩展技术
运维·物联网
程序猿编码1 小时前
轻量级却实用:sigtrace 如何靠 ptrace 实现 Linux 信号的捕获与阻断(C/C++代码实现)
linux·c语言·c++·信号·捕获·ptrace
qq_393060471 小时前
阿里云创建交换分区、设置内存监控预警和自动处理内存占用过大进程的脚本
linux·服务器·阿里云
Jtti1 小时前
什么是DNS负载均衡?提升网站稳定性与容错性的方法
运维·负载均衡
迎風吹頭髮2 小时前
Linux内核架构浅谈60-Linux块设备驱动:请求队列与BIO结构的交互流程
linux·运维·交互
☆璇2 小时前
【Linux】Socket编程TCP
linux·服务器·tcp/ip
TG_yunshuguoji3 小时前
阿里云代理商:阿里云负载均衡是什么?
运维·服务器·阿里云·云计算