linux上装个python真是费劲,不搞不知道,坑是真的多。看了不少博客,总结一下,赶紧写个博客怕以后忘记了。
Python3.8安装
一 python依赖包安装
ubuntu下自带的python是2.7的。
安装python3.8之前最好装上一些依赖包,不然后面安装会报很多的莫名其妙的错误。
以下是根据这篇文章添加的一些依赖,他用的centos。ubuntu用yum会很麻烦,所以我都去找了对应的apt-get安装。
Linux 下安装pip pip3
sudo apt-get install zlib1g.dev
sudo apt-get install libbz2-dev
sudo apt-get install libncurse5-dev
sudo apt-get install libreadline6-dev
sudo apt-get install openssl
sudo apt-get install libssl-dev
sudo apt-get install -y install libgdbm -dev
sudo apt-get install tc18.4
sudo apt-get install tcl8.4-dev
sudo apt-get install tk8.4-dev
至于每个都有什么用就没去深究了,为了以后少报错,能装的就都装上。。。。
安装pip报ModuleNotFoundError: No module named ‘_ctypes‘
就是以下这个依赖没装
sudo apt-get install libffi-dev
二 装python3.8
1.首先去python官网下载安装包python官网
选第一个就行了。下载完成后默认是放到ubuntu的下载目录。
也可以用wget https://www.python.org/ftp/python/3.8.5/Python-3.8.5.tgz
下载
2.进入压缩包目录后解压
tar-xvzf Python-3.8.5.tgz
解压后完成安装
./configure --prefix=/usr/python --enable-shared CFLAGS=-fPIC9+
–prefix后指定的是安装的目录,这里安装在/usr/python
这里加上–enable-shared和-fPIC之后可以将python3的动态链接库编译出来,默认情况编译完lib下面只有python3.xm.a这样的文件,python本身可以正常使用,但是如果编译第三方库需要python接口的比如caffe等,则会报错;所以这里建议按照上面的方式配置。
然后编译
make
编译后安装
make install
安装完成之后要简单做一下配置:即将python库路径添加到/etc/ld.so.conf配置中,然后执行ldconfig生效.
sudo vim /etc/ld.so.conf
添加第二行后按Esc + i + enter后输入wq后保存退出。
运行一下ldconfig,使所有的库文件都被缓存到文件/etc/ld.so.cache中
ldconfig
3 测试是否安装成功
cd /usr/python/bin
ls
./python3.8
quit()
但是如果在终端直接输入python默认还是python2.7,需要为python3.8建立一个软链接。
ln-s /usr/python/bin/python3 /usr/bin/python3
ln-s /usr/python/bin/pip3 /usr/bin/pip3
这样在终端输入python3就会是python3.8了
如果报软链接已占用错误时,想删除软链接或者更改软链接可以采用如下命令(比如说这儿想删除python3)
cd /usr/bin
find python*
sudo rm -rf python3
Python就安装完毕了,接下来安装pip
pip安装
安装Setuptools
需要先安装Setuptools,不然直接安装pip会报错。安装好了也不一定能用。。(心累)
Setuptools下载的链接如下,最好选新一点的版本。
Setuotools
当然也可以用wget安装。
下好后在解压
tar zxvf setuptools-54.0.0.tar.gz
进入然后编译
cd setuptools-54.0.0/
sudo python3 setup.py build
如果报错,改用python2.7
sudo python2.7 setup/py build
编译成功后就可以安装了
sudo python3 setup.py install
Setuptools就算安装好了
安装pip3
首先去下载pip
pip安装包
然后就是解压编译安装
tar -zxvf pip-20.3.4.tar.gz
cd pip-20.3.4/
sudo python3 setup.py build
sudo python3 setup.py install
现在在终端pip3就有版本信息了。
然后就完了吗?!没有,又又又报错了,我真是太菜了。。。
就在我愉快地想要装个numpy时,出现了Defaulting to user installation because normal site-packages is not writeable,但其实这个并不是什么错误。
报错在最后subprocess.CalledProcessError: Command ‘(‘lsb_release’, ‘-a’)’ returned non-zero exit status 1.
执行以下操作
sudo find / -name 'lsb_release.py
sudo cp /usr/lib/python3/dist-packages/lsb_release.py /usr/python/lib/python3.8/
第一个路径为你查找到的python3的lsb_release路径,第二个为安装的python下的路径。把这个文件拷过去就行了。
pip3安装numpy成功。
pytorch安装
pip3 install torch==1.9.0+cpu torchvision==0.10.0+cpu torchaudio==0.9.0 -f https://download.pytorch.org/whl/torch_stable.html
直接采用pip3安装成功,如果连接超时,可以去pytorch官网下载whl后安装。