linux 目录s,Linux+ln+-s目录

news/2024/7/7 19:56:06

Linux下大部分系统默认自带python2.x的版本,最常见的是python2.6或python2.7版本,默认的python被系统很多程序所依赖,比如centos下的yum就是python2写的,所以默认版本不要轻易删除,否则会有一些问题,如果需要使用最新的Python3那么我们可以编译安装源码包到独立目录,这和系统默认环境之间是没有任何影响的,python3和python2两个环境并存即可  首先去python官网下载python3的源码包,网址:https://www.python.org/  进去之后点击导航栏的Downloads,也可以鼠标放到Downloads上弹出菜单选择Source code,表示源码包,这里选择最新版本3.5.1,当然下面也有很多其他历史版本,点进去之后页面下方可以看到下载链接,包括源码包、Mac OSX安装包、Windows安装包    这里选择第一个下载即可,下载的就是源码包:Python-3.5.1.tgz,下载好之后上传到linux系统,准备安装  python安装之前需要一些必要的模块,比如openssl,readline等,如果没有这些模块后来使用会出现一些问题,比如没有openssl则不支持ssl相关的功能,并且pip3在安装模块的时候会直接报错;没有readline则python交互式界面删除键和方向键都无法正常使用,至于需要什么模块在make完之后python会给出提示,通过提示进行安装即可装全, 另外感谢园友的Glory_Lion的回复;下面是需要提前预装的依赖:复制代码yum -y install zlib zlib-develyum -y install bzip2 bzip2-develyum -y install ncurses ncurses-develyum -y install readline readline-develyum -y install openssl openssl-develyum -y install openssl-staticyum -y install xz lzma xz-develyum -y install sqlite sqlite-develyum -y install gdbm gdbm-develyum -y install tk tk-devel复制代码 安装上面这些python内置模块基本上就比较全了,如果后续有其他必要的模块,会继续补充的,接下来可以安装python了,编译过程中会自动包含这些依赖.

释放文件:tar -xvzf Python-3.5.1.tgz  进入目录:cd Python-3.5.1/  配置安装目录,因为上面依赖包是用yum安装而不是自己编译的,所以都是安装在系统默认目录下,因此各种选项不用加默认即可生效:./configure --prefix=/usr/python  接下来编译源码:make  执行安装:make install  整个过程大约5-10分钟,安装成功之后,安装目录就在/usr/python  系统中原来的python在/usr/bin/python,通过ls -l可以看到,python是一个软链接,链接到本目录下的python2.7  我们可以不用把这个删除,不对原来默认的环境做任何修改,只新建一个python3的软链接即可,只是需要执行python3代码时python要改成python3,或者python脚本头部解释器要改为#!/usr/bin/python3  这里建立有关的软链接如下:ln -s /usr/python/bin/python3 /usr/bin/python3ln -s /usr/python/bin/pip3 /usr/bin/pip3  这样就建立好了,以后直接执行python3命令就可以调用python3了,执行pip3可以安装需要的python3模块;另外如果仔细看python安装目录下的bin目录,实际上python3也是个软链接,链接到python3.5.1,这样多次链接也是为了多个版本的管理更加方便,  python3新版本的安装就是这些,因为我们之前安装了完整的依赖,所以下面问题不存在了,忽略即可,其中的python readline模块也早已经停止更新了,会出现崩溃问题;这里基础环境都是使用系统的依赖,更稳定. --------------------------------------------华丽的分割线---------------------------------------------------

另外可能会遇到一个问题就是,python3交互式界面特别不好用,删除不能正常使用,必须按Ctrl+删除键才可以,上下键重复命令也无法使用,左右调整光标也无法使用,这样调试代码效率很低,原因是python3缺少readline这个依赖,默认使用pip3 install readline会提示找不到包,所以只能是手动安装了  因为readline依赖于ncurses库,如果没有这个库,编译readline的时候会提示can not find -lncurses,如果在centos环境下可以执行下面命令安装:yum -y install ncurses ncurses-devel  安装ncurses库之后,再安装readline,readline可以在pypi下载,地址:https://pypi.python.org/pypi/readline,这里一定要下载源码包,其余的只能用于python2,下载之后执行下面命令安装:tar -xvzf readline-6.2.4.1.tar.gzcd readline-6.2.4.1/python3 setup.py install  这样执行完毕就为python3安装了readline,然后再进入交互式界面所有的操作都好用了


http://www.niftyadmin.cn/n/2001634.html

相关文章

(转)HDFS客户端的权限错误:Permission denied

2019独角兽企业重金招聘Python工程师标准>>> 搭建了一个Hadoop的环境,Hadoop集群环境部署在几个Linux服务器上,现在想使用windows上的Java客户端来操作集群中的HDFS文件,但是在客户端运行时出现了如下的认证错误,被折磨…

linux 用户进程结束后 malloc申请的内存会自动释放吗,当程序退出后,动态申请的内存会自动释放吗...

我们知道程序在运行的过程中是需要占用一定内存的,一般程序所需要的内存由操作系统来分配,由操作系统分配的,自然需要由操作系统回收。但是在实际开发中,用户可以通过一些函数人为地申请内存,再由用户来释放&#xff0…

如何做好IT运营.

定义IT管理的重点在于业务策略与 IT 部门提供的服务之间的一致性。IT 管理可建立必要的管理机制来确保可预测的 IT 服务交付,从而确保业务流程和 IT 流程之间的联系。IT 管理传统上属于CIO、CEO和一些 IT 和业务线(line of business,LOB&…

linux 对比2个目录,linux – 比较2个目录并复制第3个目录中的差异

使用–compare-dest.从手册页:–compare-destDIR –This option instructs rsync to use DIR on the destination machine as an additional hierarchy to compare destination files against doing transfers (if the files are missing in the destination direct…

Java HashMap工作原理及实现

原文出处: Yikun 1. 概述 从本文你可以学习到: 什么时候会使用HashMap?他有什么特点?你知道HashMap的工作原理吗?你知道get和put的原理吗?equals()和hashCode()的都有什么作用?你知道hash的实现…

linux c程序设计大全 下载,The C programming Language[C程序设计语言]PDF

内容简介 Presents a complete guide to ANSI standard C language programming. Written by the developers of C, this new version helps readers keep up with the finalized ANSI standard for C while showing how to take advantage of Cs rich set of operators, …

Metro Win8风格的按钮(Filp翻转)

原地址->http://www.cnblogs.com/yk250/p/5661093.html 介绍:简约而不简单....颜色可随意调制,最好用Blend工具。 效果图如下:话说这个图会不会太大了点 0_0 外观简单,制作也十分简单&#x…

linux学习密码管理,LINUX学习 usermod命令 , mkpasswd命令,用户密码管理

一、usermodusermod是更改用户属性的命令,与userid类似格式:usermod -u 123 usernameusermod -g 123 username二、mkpasswd系统默认下是没有这个工具的,我们需要手动yum安装一下mkpasswd用来生成随机密码字符串。有时我们需要生成指定的长度密…