(20211206更新)ubuntu18.04 安装Python3.8.3、jupyter notebook远程连接配置、虚拟环境搭建。及torch、tensorflow成功下载[通俗易懂]

(20211206更新)ubuntu18.04 安装Python3.8.3、jupyter notebook远程连接配置、虚拟环境搭建。及torch、tensorflow成功下载[通俗易懂]最近搞了一个低配云服务器,就瞎整。多次踩坑后,进行记录问题之前有试过删除软链接、进行替换#删除软连接sudorm-rf/usr/bin/python3sudorm-rf/usr/bin/pip3#新建软连接sudoln-s/usr/local/python3/bin/python3.8/usr/bin/python3sudoln-s/usr/local/python3/bin/pip3.8/usr/bin/pip3但是吧,后续的pipinstall会出

大家好,又见面了,我是你们的朋友全栈君。

最近搞了一个低配云服务器,就瞎整。多次踩坑后,进行记录

问题

之前有试过删除软链接、进行替换

# 删除软连接
sudo rm -rf /usr/bin/python3
sudo rm -rf /usr/bin/pip3
# 新建软连接
sudo ln -s /usr/local/python3/bin/python3.8 /usr/bin/python3
sudo ln -s /usr/local/python3/bin/pip3.8 /usr/bin/pip3

但是吧,后续的pip install 会出现异常,
报错内容subprocess.CalledProcessError: Command ‘(‘lsb_release’, ‘-a’)’
然后会看到有的会说将什么文件复制到什么地方。然后将系统的python文件夹中的所有py36 改为py38 。确实在某些操作上是行得通,但是在后续的折腾过程中还是出现了各种问题。所以现在抛弃这种了。
当然,可能也有看到有些博主会让你们进行优先级的选择,如下图所示这样的对吧
在这里插入图片描述
没错,我原先也以为这是个不错的办法,但是在后续的jupyter 拓展及虚拟环境搭建的过程中都出现了问题,比如

jupyter notebook问题

进行一系列的操作后,在jupyter notebook首页,是看不到这个的,在终端看到404,确实有安装,但是它启动的却是python3.6的python3,而不是我这边python3.8的python3,后续进行了更换内核等操作,依旧找不到,这是一个原因

在这里插入图片描述

虚拟环境问题

在搭建虚拟环境过程中
OSError: Command /home/vir/env/bin/python4 – setuptools pkg_resources pip whee failed with error code1
这个好像是说环境的问题,python3多个。
有些人是碰到了code2
估计将pip 和 setuptools进行更新就可以了
再就是virtualenv各种问题,不一一描述。

记录自己目前正确且没啥问题的过程

Ubuntu 安装Python3.8.3

必要更新

进入服务器,先进行更新

sudo apt-get update 更新源
sudo apt-get upgrade 更新已安装的包

安装一些依赖,这些依赖,大多网上看到的,也没去一个个查找是哪些的依赖,大多对后续的安装配置有帮助吧

sudo apt-get install zlib1g-dev libbz2-dev libssl-dev libncurses5-dev libsqlite3-dev
sudo apt-get install python-dev libffi-dev libssl-dev
sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev

安装

然后找个文件夹或者直接根目录

wget 'https://www.python.org/ftp/python/3.8.3/Python-3.8.3.tgz'
tar zxvf Python-3.8.3.tgz #解压
cd Python-3.8.3
sudo mkdir -p /usr/local/python3 #建立安装目录
# 编译安装加上 --enable-optimizations 会自动安装pip3及优化配置
./configure --prefix=/usr/local/python3 --enable-optimizations
sudo make && make install

这边我就没去删除原python3及pip3的软链接了,直接建立新的软链接

sudo ln -s /usr/local/python3/bin/python3.8 /usr/bin/python4
sudo ln -s /usr/local/python3/bin/pip3.8 /usr/bin/pip4
# 可检测版本:
python4 -V
pip4-V

环境

我是在 /etc/environment中进行添加环境
在这里插入图片描述
终端输入env
在这里插入图片描述
输入reboot 进行重启

安装jupyter notebook

先进行pip4 安装jupyter : pip4 install jupyter

sudo pip4 install ipython
sudo pip4 install ipykernel   # 下载内核
python4 -m ipykernel install --user --name python4 --display-name "Python3.8"  # 应用内核
jupyter kernelspec list   # 查看可使用的内核

在这里插入图片描述
目前启动内核已换成了我这边的python3.8版本的别名python4
接下来就是jupyter的一些配置过程了

jupyter notebook --generate-config 生成配置文件
jupyter notebook password 生成密码

在这里插入图片描述

在远程访问时,需要输入密码进行登录,防止谁都可以进入工作区进行编辑文件,密码在/root/.jupyter/jupyter_notebook_config.json
在这里插入图片描述
在jupyter_notebook_config.py文件中进行配置

c.NotebookApp.ip='*'  
c.NotebookApp.password = u'刚才生成的那个密文'
c.NotebookApp.open_browser = False
c.NotebookApp.port =8888  # 可自行指定一个端口,后续在安全组那边进行开放该端口
c.NotebookApp.notebook_dir = '/home/jupyter_note/'  # 自定义工作文件夹

主题和拓展可以参考我之前写的记录。这边就不描述了……
反正全程绿灯
在这里插入图片描述
在这里插入图片描述

虚拟环境搭建

pip4 install virtualenv
pip4 install virtualenvwrapper

而后在.bashrc中进行添加配置(根据文件的实际路径
在这里插入图片描述
source ~/.bashrc 生效

问题

有的小伙伴可能没编写好可能会遇到
在这里插入图片描述
原因是 在添加配置过程中是设置了工作目录,创建无第三方包环境,指定解释器

export VIRTUALENVWRAPPER_PYTHON=/usr/local/python3/bin/python3
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages'
source /usr/local/python3/bin/virtualenvwrapper.sh

那就使用virtualenv –version,查看版本,若版本>20,将这句删除:

export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages'

因为从版本20开始,默认就是’–no-site-packages‘了。

还有
在这里插入图片描述
在其中添加export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/python3/bin/virtualenv
export WORKON_HOME=$HOME/.virtualenvs

最终版本就是# 虚拟环境搭建 这里的截图了(这里今天是截图打马赛克,所有水印叠加)

在这里插入图片描述
在这里插入图片描述

结尾

可能有些伙伴下载包的时候,内存够,也没超时,但是就是报错
可以这样

 pip install torch torchvision --no-cache-dir

在这里插入图片描述
但有时候有很顺利???
在这里插入图片描述
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/152416.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • js的touch事件的实际引用

    一开始做前端页面的时候,接触的也是js,但是随后便被简单高效的jquery吸引过去,并一直使用至今。而js,则被我主观的认为底层技术而抛弃。直到这几天工作需要,研究移动端页面的触屏滑动事件,搜索jqu

    2021年12月27日
    51
  • Telerik的RadControls控件(二)

    Telerik的RadControls控件(二)继上篇我们学习了RadWindow控件的用法之后,本篇我们将学习在项目中更加方便开发人员的常用控件RadAjax控件.  RadAjax是面向ASP.NET应用程序无编码AJAX使能化的第一个框架。这个专利Click-and-Go™技术可以让你不需要对你应用程序做任何修改(摆放Callback面板,设置触发器等)。最棒的是,你根本不需要写一行的JavaScript或s

    2022年7月24日
    4
  • Object到int的转换问题

    怎么把一个Object对象转成一个int型的数据,其实这个Object对象里存的是数字!             强制转换不好使!Objectobj=3;  inti=(int)obj;   ——有问题。 解决方法      Integer.parseInt(obj.toString);

    2022年4月5日
    55
  • linux根分区满了如何处理,查找大文件方法[通俗易懂]

    linux根分区满了如何处理,查找大文件方法[通俗易懂]linux根分区满了如何处理,查找大文件方法

    2022年4月21日
    137
  • TCP 详解[通俗易懂]

    上回说到UDP协议,与之对应的便是TCP协议TCP协议TCP协议全称:传输控制协议,顾名思义,就是要对数据的传输进行一定的控制.先来看看它的报头我们来分析分析每部分的含义和作用源端口号/目的端口号:表示数据从哪个进程来,到哪个进程去.32位序号:4位首部长度:表示该tcp报头有多少个4字节(32个bit)6位保留:顾名思义,先保留着,以…

    2022年4月6日
    63
  • NVIC和EXTI

    NVIC和EXTINVIC:NestVectorInterruptController,嵌套中断向量控制器,是用来管理中断嵌套的,核心任务在于其优先级的管理。NVIC给每个中断赋予先占优先级(抢占优先级)和次占优先级(响应优先级)。CM3内核支持256个中断,其中包含了16个内核中断和240个外部中断,并且具有256级的可编程中断设置。但STM32并没有使用CM3内核的全部东西,而是只用了它的一部分,STM

    2022年5月28日
    65

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号