[linux配置环境] centos7 python3.5.X+django

准备工作

我们从linux centos7 开始

Python 3.5.3的准备工作:

	yum groupinstall –y 'Development Tools'
	yum install –y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel

用 –y来取消中间必须要打的y选项,可以挂机放羊。

安装Python3.5.3

我们先:

 cd /opt

进到opt文件夹下,wget www.python.org/ftp/python/…啪啦啪啦啪啦 。之后的路径可以自己选择要用的版本当然我们这边用的是python3.5.3

正经的获取安装包的方法如下:

	wget https://www.python.org/ftp/python/3.5.3/Python-3.5.3.tar.xz

完成之后 ls 会发现在目录下多了名为: Python-3.5.3.tar.xz的压缩包

	tar xvf Python-3.5.3.tar.xz

解压到当前路径下,目录中就多了一个叫Python-3.5.3的文件夹

	cd Python-3.5.3

进入文件夹

	./configure --prefix=/usr/local/python3

很多示范中的其中一种,当然,你可以选择相信它,但是如果你要用到sqlite的话…我建议你还是选择

./configure --enable-shared --enable-loadable-sqlite-extensions --prefix=/usr/local/python3

画风可能不一样,起码这样做你会不用头疼sqlite3的库的问题。当然,除非你照准备工作那样做的话,玩mysql的也是类似的设置。

	make
	
	make install

安装,不过千万不要像我一样写成makefile了…我也懵逼了很久。

基本安装完成了,但是接下来我们要谈谈软链接的事:
如果你不愿意 cd来cd去看/bin目录,当然也没有这个必要,
先宰掉/bin/python 这个python2.x的链接吧,我们要用python命令直接使用python3所以得把这个给替换掉

rm -rf /bin/python

ln -s /usr/local/python3/bin/python3.5 /bin/python

软链接一连,这个路径就到/bin下了,现在可以试试直接在命令行打

python

这里写图片描述

some Problems:

也许你会一路顺利,但也许你会幸运的遇到一些问题
like follows:

  • problems1:

python3: error while loading shared libraries: libpython3.5m.so.1.0: cannot open shared object file: No such file or directory(大意就是找不到libpython3.5m.so.1.0这个动态库)
类似于libpython3.5m.so

  • 描述:

为什么找不到这个动态库了呢?我找了/usr/lib 确实是没有这个东西的,但其他机器一旦安装好之后就可以正常运行了,这是怎么回事?直到一个大佬和我讲了linux的动态库管理…

  • solution:
    先让我们找找这个文件到底在哪里。
whereis libpython3.5m.so.1.0

因为是装在/usr/local/python3目录下的,在/usr/local/lib和/usr/local/python3/lib中找到了该文件。

哦?这不是在吗?但是为什么一直提示呢?

其实:

ldconfig命令的用途主要是在默认搜寻目录/lib/usr/lib以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态链接库(格式如lib*.so*),进而创建出动态装入程序(ld.so)所需的连接和缓存文件。缓存文件默认为/etc/ld.so.cache,此文件保存已排好序的动态链接库名字列表,为了让动态链接库为系统所共享,需运行动态链接库的管理命令ldconfig .所以,并不是没有装好而是可共享动态链接库的缓存文件没有被刷新。

列出当前可用的共享库中是否存在libpython3.5m.so.1.0

ldconfig -p|grep libpython3.5m.so.1.0

找到了,是有的,那么就是/etc/ld.so.cache没有刷新的问题了。
如果没有的话 , 说明在/etc/ld.so.conf.d/目录下,新建一个python.conf,把lib所在的位置包含进去就好了,本文环境的话,内容就是/usr/local/python3/lib

刷新缓存:

ldconfig

再次敲入python,即可进入大python的互动命令行

好了,差不多搞完了?

不不不,还差的远,有些东西永远地失去了作用,现在我们需要回过头来拯救他们

cd /bin

ll | grep python

找到python下面的python2的链接,可能会是…

这里写图片描述

开始拯救yum

vim /bin/yum

修改 yum文件
最开头会有一个引用的python路径,因为yum是用的python2的工具,所以我们需要把它改过来

把#!/usr/bin/python 改为 #!/usr/bin/python2 你可别告诉我你不会用vim

恩,这时候尝试使用yum,还会遇到一个报错,这时候,和上面一样,我们只要用vim找到那个文件并修改其引用就可以了。

当然,有个工具也不要忘记加上:

ln –s /usr/local/python3/bin/pip3 /bin/pip

添加pip的软链接,pip工具就能用于安装Django了

[可选] 卸载python3

//卸载
rpm -qa|grep python3|xargs rpm -ev --allmatches --nodeps

//清除残余文件
whereis python3 |xargs rm -frv

//查看现存内容
whereis python

[可选] 安装包

\\导出之前的包
pip freeze > package.txt

\\安装
pip install -r package.txt

Django安装

前面都部署好了话只需要:

   pip install Django

注意Django第一个字母大写,哈哈,其实你会发现小写也并咩有错。

好了,给你个链接,开始django的第一步吧

自强学院Django教程

再装了一次,发现Django也不是那么好装的

以下的链接学到的知识还来不及整理,先挂个链接吧。

  1. 使用pip出现 cannot import name “main”
    参照大佬的:https://www.cnblogs.com/mandywang/p/11040289.html
  2. 如何使用其他的pip源-修改~/.pip/pip.conf
    https://blog.csdn.net/weixin_48994268/article/details/120473480
  3. 当pip很垃圾地一直说要升级?Requirement already up-to-date
    下一个pip的高版本到服务器,然后用pip把它装了
// 把*换成文件名就行,只有这个whl的时候直接也能用
python -m pip install ./*.whl
  1. 使用加密的pip使用公司内的源:有些公司里对源的获取是需要账号密码的
    可参照问题1:在url前面加上
<USERNAME>:<PASSWORD>@

参考文献 : http://man.linuxde.net/ldconfig
以及各种教程

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值