大家好,又见面了,我是你们的朋友全栈君。
最近搞了一个低配云服务器,就瞎整。多次踩坑后,进行记录
问题
之前有试过删除软链接、进行替换
代码语言:javascript复制# 删除软连接
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
必要更新
进入服务器,先进行更新
代码语言:javascript复制sudo apt-get update 更新源
sudo apt-get upgrade 更新已安装的包
安装一些依赖,这些依赖,大多网上看到的,也没去一个个查找是哪些的依赖,大多对后续的安装配置有帮助吧
代码语言:javascript复制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
安装
然后找个文件夹或者直接根目录
代码语言:javascript复制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的软链接了,直接建立新的软链接
代码语言:javascript复制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
代码语言:javascript复制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的一些配置过程了
代码语言:javascript复制jupyter notebook --generate-config 生成配置文件
jupyter notebook password 生成密码
在远程访问时,需要输入密码进行登录,防止谁都可以进入工作区进行编辑文件,密码在/root/.jupyter/jupyter_notebook_config.json
在jupyter_notebook_config.py文件中进行配置
代码语言:javascript复制c.NotebookApp.ip='*'
c.NotebookApp.password = u'刚才生成的那个密文'
c.NotebookApp.open_browser = False
c.NotebookApp.port =8888 # 可自行指定一个端口,后续在安全组那边进行开放该端口
c.NotebookApp.notebook_dir = '/home/jupyter_note/' # 自定义工作文件夹
主题和拓展可以参考我之前写的记录。这边就不描述了…… 反正全程绿灯
虚拟环境搭建
代码语言:javascript复制pip4 install virtualenv
pip4 install virtualenvwrapper
而后在.bashrc中进行添加配置(根据文件的实际路径)
source ~/.bashrc 生效
问题
有的小伙伴可能没编写好可能会遇到
原因是 在添加配置过程中是设置了工作目录,创建无第三方包环境,指定解释器
代码语言:javascript复制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,将这句删除:
代码语言:javascript复制export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages'
因为从版本20开始,默认就是’–no-site-packages‘了。
还有
在其中添加export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/python3/bin/virtualenv export WORKON_HOME=$HOME/.virtualenvs
最终版本就是# 虚拟环境搭建 这里的截图了(这里今天是截图打马赛克,所有水印叠加)
结尾
可能有些伙伴下载包的时候,内存够,也没超时,但是就是报错 可以这样
代码语言:javascript复制 pip install torch torchvision --no-cache-dir
但有时候有很顺利???
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/152416.html原文链接:https://javaforall.cn