㈠ 如何安装python 3中,并设置本地编程环境在CentOS 7
介绍
Python是一种多功能编程语言,可以用于许多不同的编程项目。开发团队于1991年首先发表了一个名叫灵感来源于英国喜剧组织Monty Python的名字,他希望Python能够成为一种有趣的语言。对于初学者和经验丰富的开发人员来说,Python易于设置,并且以相对直接的方式编写,并提供对错误的即时反馈。Python 3是该语言的最新版本,被认为是Python的未来。
本教程将指导您在本地CentOS 7机器上安装Python 3,并通过命令行设置编程环境。
先决条件
您将需要一台连接到互联网的非root超级用户帐户的CentOS 7计算机。
第1步 - 准备系统
我们将通过命令行来完成这个安装。如果您的CentOS 7计算机启动了图形用户界面(GUI)桌面,则可以通过菜单访问命令行界面,方法是导航到应用程序,然后导航到实用程序,然后单击终端。如果您需要更多关于终端的指导,请务必阅读文章“linux终端简介”。
在开始安装之前,让我们确保更新默认的系统应用程序以获得最新版本。
我们将使用开源包管理工具yum,代表Yellowdog Updater Modified。这是一个常用的工具,用于在基于Red Hat的Linux系统(如CentOS)上处理软件包。它可以让你轻松地安装和更新,以及删除您的计算机上的软件包。
我们首先通过运行这个命令来确保yum是最新的:(更新系统是可选执行)
sudo yum -y update
该-y标志用于警告系统,我们知道我们正在进行更改,防止终端提示我们确认。
接下来,我们将安装yum-utils,这是一个扩展和补充yum的实用程序和插件的集合:(也可以不安装)
sudo yum -y install yum-utils
最后,我们将安装CentOS开发工具,这些工具用于允许您从源代码构建和编译软件:(也可以不安装)
sudo yum -y groupinstall development
一旦安装好了,我们的安装就绪了,我们可以继续安装Python 3。
第2步 - 安装和设置Python 3
CentOS源自RHEL(红帽企业Linux),其稳定性是其主要焦点。正因为如此,经过测试和稳定版本的应用程序是最常见的系统和可下载的软件包,所以在CentOS上,你只能找到Python 2。
因为我们想要安装Python 3的最新上游稳定版本,我们需要安装IUS,代表Inline with Upstream Stable。作为一个社区项目,IUS为选择软件的一些更新版本提供了红帽软件包管理器(RPM)软件包。
要安装IUS,先要安装epel-release7包 我们来安装它yum:
sudo yum -y install epel-release-7-11.noarch.rpm
sudo yum -y install ius-release.rpm
一旦IUS完成安装,我们可以安装最新版本的Python:
sudo yum -y install python36u
当Python的安装过程完成后,我们可以通过以下python3.6命令检查其安装是否成功:
python3.6 -V
使用成功安装的Python 3.6版本,我们将收到以下输出:
Output
接下来我们将安装pip,它将管理Python的软件包:
sudo yum -y install python36u-pip
一个用于Python的工具,我们将使用pip来安装和管理我们可能想在我们的开发项目中使用的编程包。你可以通过键入以下命令来安装Python包
sudo pip3.6 install package_name
在这里,package_name可以参考任何Python包或者库,比如用于Web开发的Django或者用于科学计算的NumPy。所以如果你想安装NumPy,你可以使用命令来完成pip3.6 install numpy。
最后,我们将需要安装IUS软件包python36u-devel,它为我们提供了Python 3开发所需的库和头文件:
sudo yum -y install python36u-devel
该VENV模块将用于建立一个虚拟的环境,为我们下一步的发展项目。
第3步 - 建立一个虚拟环境
现在,我们已经安装了Python,并且已经安装好了系统,我们可以继续使用venv创建我们的编程环境。
虚拟环境使您能够在计算机上为Python项目设置一个独立的空间,确保您的每个项目都拥有自己的一组依赖项,不会中断任何其他项目。
建立一个编程环境使我们能够更好地控制我们的Python项目以及如何处理不同版本的包。使用第三方软件包时,这一点尤为重要。
您可以根据需要设置尽可能多的Python编程环境。每个环境基本上都是您的计算机中的一个目录或文件夹,其中包含一些脚本以使其充当环境。
选择你想把你的Python编程环境放入哪个目录,或者创建一个新目录mkdir,如下所示:
mkdir environments
cd environments
一旦进入了你想要环境所在的目录,就可以通过运行以下命令来创建一个环境:
python3.6 -m venv my_env
本质上,这个命令会创建一个新的目录(在本例中称为my_env),其中包含一些我们可以通过ls命令看到的项目:
这些文件一起工作,以确保您的项目与本地计算机的更广泛的上下文隔离,以便系统文件和项目文件不会混合。这是版本控制的好习惯,并确保您的每个项目都可以访问它所需的特定软件包。
要使用这个环境,你需要激活它,你可以通过输入以下命令来调用目录中的激活脚本bin:
source my_env/bin/activate
您的提示现在将以您的环境的名称作为前缀,在这种情况下,它被称为my_env:
这个前缀让我们知道my_env环境当前是活动的,这意味着当我们在这里创建程序时,他们将只使用这个特定环境的设置和包。
注意:在虚拟环境中,您可以使用命令python而不是python3.6,而pip不是pip3.6如果您愿意的话。如果您在环境外使用Python 3,则需要专门使用python3.6和pip3.6命令。
遵循这些步骤之后,即可使用您的虚拟环境。
第4步 - 创建一个简单的程序
现在我们已经建立了虚拟环境,我们来创建一个简单的“Hello,World!”程序。这将确保我们的环境正在工作,并且使我们有机会更熟悉Python,如果我们还没有。
为此,我们将打开一个名为vim的命令行文本编辑器,并创建一个新文件:
vi hello.py
一旦文本文件在我们的终端窗口打开,我们将不得不键入i进入插入模式,然后我们可以写我们的第一个程序:
现在按下ESC退出插入模式。接下来,输入:x然后ENTER保存并退出文件。
我们现在准备好运行我们的程序:
python hello.py
刚刚创建的hello.py程序应该使终端产生以下输出:
Output
要离开环境,只需键入命令,deactivate然后返回到原始目录。
结论
恭喜!此时,您已经在本地CentOS 7机器上安装了Python 3编程环境,并且可以开始一个编码项目!
㈡ docker容器下搭建python环境
1)进入容器
docker exec -it 容器id(或容器名) /bin/bash
查看当前操作系统cat /etc/issue
Debian GNU/Linux 10 \n \l
这里查到的是Debian系统(不是ubuntu, 也不是centos),这里yum是没有的,所以不能用yum安装了,这里用apt-get代替yum
先执行更新apt-get
apt-get update
2)在当前容器目录下(自己的虚拟机:/usr/local/tomcat)
mkdir python3
cd python3/
执行命令:wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tgz
解压:tar -xvf Python-3.6.8.tgz
cd Python-3.6.8/
然后执行:./configure --prefix=/usr/local/tomcat/python3,会报错:configure: error: no acceptable C compiler found in $PATH
apt-get 安装依赖包
这个是因为缺少gcc相关依赖包,使用apt-get代替yum安装相关依赖包
apt-get -y install gcc automake autoconf libtool make
apt-get -y install make*
apt-get -y install zlib*
apt-get -y install openssl libssl-dev
apt-get install sudo
make编译安装
./configure --prefix=/usr/local/tomcat/python3 --with-ssl
make
make install
最后:添加软链接
添加python3软链接
ln -s /var/jenkins_home/python3/bin/python3.6 /usr/bin/python3
添加pip3软链接
ln -s /var/jenkins_home/python3/bin/pip3 /usr/bin/pip3
注:
ssl问题
如果pip3安装的时候遇到报ssl相关问题:pip is configured with locations that require TLS/SSL, however the ssl mole in Python is not available.
这个是因为缺少ssl依赖包,网上的解决方案是yum install openssl-devel ,由于Debian系统没有yum,用apt-get安装
apt-get -y install openssl libssl-dev
安装完成之后只能解决系统自带的python2对应的pip安装问题,无法解决python3的pip3安装问题。
解决办法:上面编译的时候需加上参数 --with-ssl
./configure --prefix=/usr/local/tomcat/python3 --with-ssl
重新执行make和make install 就可以了
㈢ python3.7基础镜像有多大
选择基础镜像的难题
在使用Docker部署某类服务时,第一个面临的问题就是选择一个基础镜像。那么如何选择基础镜像更有利于我们的工作呢?
我们知道docker是基于linux的,任何一个镜像,其包含的 bins/libs/files 都可以认为是属于特定linux版本的一部分。linux一切皆文件的思想下,我们在使用docker制作服务镜像部署时,包管理、环境设置、程序安装、命令格式、文件系统、兼容性等对于不同linux版本都可能有一些区别,所以,选择一个习惯使用的linux版本就变得尤为重要。
举例来说,我需要经常用docker部署Python应用。在docker hub中选择哪个基础镜像呢?搜索“适合Python开发的Docker镜像”会有很多文章,常用的主要有Alpine、Stretch、Jessie等,默认版本是基于Ubuntu的,但是太大了。
Alpine是一个微型linux系统,选择这个版本镜像的很多,因为它足够小,但是实际项目使用时却发现各种各样的问题。最大问题就是它的c运行库采用 musl-libc 而不是linux各发行版的 glibc,所以涉及c运行时会有兼容性的问题。
2、定制基础镜像
在选择基础镜像的问题上踩坑无数之后,决定换个角度想:为什么不基于特定的linux版本,自己制作一个基础镜像呢?这样自己又熟悉,又有开发环境来验证问题,而且很多制作应用镜像时遇到的问题,都可以在定制的基础镜像中一次性解决。
从这个想法出发,我选择熟悉的linux版本基础镜像,然后在其中按需求安装Python环境,一切都跟在服务器上安装Python环境一样,这不就又回到了熟悉的操作了吗?不同的是,这些只需要做一次就可以了,得到自己定制的Python基础镜像,后面制作各种应用镜像时,只需要pip安装依赖库、复制文件、添加命令就可以了。
这个方法同样适用其他的环境基础镜像定制,选择自己的linux基础镜像,在其中像往常一样安装需要的环境。这样,就可以从镜像里不熟悉的文件系统中解脱出来了。
3、定制CentOS系统Python基础镜像
下面给出一个实例:
开发环境:CentOS 7
Python版本:3.6
# 完整功能python3 imiyuer/python:3.6.4-centos
FROM centos:7.5.1804
MAINTAINER imiyuer <[email protected]>
ENV PATH $PATH:/usr/local/python3/bin/
ENV PYTHONIOENCODING utf-8
RUN set -ex \
# 替换yum源
&& mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup \
&& curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo \
&& sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo \
# 安装python依赖库
&& yum makecache \
&& yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make wget \
&& yum clean all \
&& rm -rf /var/cache/yum \
# 下载安装python3
&& wget https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz \
&& mkdir -p /usr/local/python3 \
&& tar -zxvf Python-3.6.4.tgz \
&& cd Python-3.6.4 \
&& ./configure --prefix=/usr/local/python3 \
&& make && make install && make clean \
# 修改pip默认镜像源
&& mkdir -p ~/.pip \
&& echo '[global]' > ~/.pip/pip.conf \
&& echo 'index-url = https://pypi.tuna.tsinghua.e.cn/simple' >> ~/.pip/pip.conf \
&& echo 'trusted-host = pypi.tuna.tsinghua.e.cn' >> ~/.pip/pip.conf \
&& echo 'timeout = 120' >> ~/.pip/pip.conf \
# 更新pip
&& pip3 install --upgrade pip \
# 安装wheel
&& pip3 install wheel \
# 删除安装包
&& cd .. \
&& rm -rf /Python* \
&& find / -name "*.py[co]" -exec rm '{}' ';' \
# 设置系统时区
&& rm -rf /etc/localtime \
&& ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
登录后复制
比如我的生产环境是centos:7.5.1804,就选择它作为基础镜像。
将Python安装在/usr/local/python3,所以把程序路径添加到PATH环境变量,后续安装的python程序就不需要再添加环境变量或软连接。添加Python的encoding环境变量为utf-8。
后面下载安装Python的过程就都比较熟悉了,玩过Python的人都知道。
最终生成镜像大小:453MB,感觉还好。alpine镜像是90M但是很坑,默认python镜像是689MB。
几点说明:
1、RUN中尽量使用 \ &&连接命令的方式,减少镜像层数,可以一定程度减少体积。
2、尽可能删除不需要的文件,也是为了减少镜像体积。
3、Python默认不安装wheel,但是第三方库常需要使用wheel安装,所以加上它。
4、docker运行时程序获取系统时间时,如打印日志等,获取的是docker镜像内文件系统的时区设置,默认是格林尼治标准时区,所以需要设置为所在的时区。
㈣ python更改文件名称
更改文件名的操作通常都可以在操作系统的库中找到,对所有的编程语言来说都是,python也不例外,在python自带的os库中就有更改文件(夹)名称的函数方法rename,使用实例使用代码和调试结果如下:
#!/usr/bin/python3
import os, sys
# 列出目录
os.mkdir("test")
print ("目录为: %s"%os.listdir(os.getcwd()))
# 重命名
os.rename("test","test2")
print ("重命名成功。")
# 列出重命名后的目录
print ("目录为: %s" %os.listdir(os.getcwd()))
os.rmdir("test2")
所在调试界面
㈤ linux如何安装最新python3
一、首先,官网下载python3的所需版本。
想下载到那个文件夹下就先进入到那个文件夹下——cd /home/download
二、然后,解压缩文件》
tar -xvf Python-3.6.0.tgz
三、创建安装文件的路径。
mkdir /usr/local/python3
四、编译。
./configure --prefix=/usr/local/python3
五、安装。
1、make
2、make install
3、完毕
六、创建新版本的软连接。
1、修改旧版本
mv /usr/bin/python /usr/bin/python_bak
2、创建新的软连接
ln -s /usr/local/python3/bin/python3 /usr/bin/python
3、检查python的版本
python -V
python-3.6.0
软连接创建成功
七、配置成功后,pip3用不了,需进一步配置。
1、PATH=$PATH:$HOME/bin:
2、PATH=$PATH:$HOME/bin:/usr/local/python3/bin
3、完成
这时pip3就可以使用了。
㈥ python如何创建文件夹
主要涉及到三个函数
1、os.path.exists(path) 判断一个目录是否存在
2、os.makedirs(path) 多层创建目录
3、os.mkdir(path) 创建目录
直接上代码
def mkdir(path): # 引入模块 import os # 去除首位空格 path=path.strip() # 去除尾部 \ 符号 path=path.rstrip("\\") # 判断路径是否存在 # 存在 True # 不存在 False isExists=os.path.exists(path) # 判断结果 if not isExists: # 如果不存在则创建目录 # 创建目录操作函数 os.makedirs(path) print path+' 创建成功' return True else: # 如果目录存在则不创建,并提示目录已存在 print path+' 目录已存在' return False # 定义要创建的目录mkpath="d:\\qttc\\web\\"# 调用函数mkdir(mkpath)
㈦ centos7怎么python3
准备工具:
centos7
virtuslvox
subline
secureCRT
1.装好虚拟机后,添加镜像文件,选择minimal最小化安装
yum update#更新软件
yum -y install gcc kernel-devel kenel-headers make bzip2 # 安装依赖库
reboot # 重启
2.挂载执行脚本
mount /dev/cdrom /mnt # 挂载光驱到 mnt 目录
cd /mnt # 进入到mnt目录
sh ./VBoxLinuxAdditions.run # 执行脚本,进行安装
reboot #重启
3.做快照,以便日后恢复
4.python环境的安装(安装pyenv)
centos的配置
$ yum install readline readline-devel readline-static -y
$ yum install openssl openssl-devel openssl-static -y
$ yum install sqlite-devel -y
$ yum install bzip2-devel bzip2-libs -y
$ yum install patch vim git
安装python3.3/pip3
#安装python3.3
$ sudo mkdir /usr/local/python3 # 创建安装目录
$ wget --no-check-certificate https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tgz #下载源文件。注意:wget获取https的时候要加上:--no-check-certificate
$ tar -xzvf Python-3.6.0.tgz # 解压缩包
$ cd Python-3.6.0 # 进入解压目录
#编译安装
$ sudo ./configure --prefix=/usr/local/python3 # 指定创建的目录
$ sudo make
$ sudo make install
#配置2个版本共存
$ sudo ln -s /usr/local/python3/bin/python3 /usr/bin/python3 #创建 python3 的软链接,这样就可以通过 python 命令使用 Python 2,python3 来使用 Python 3。
#修改默认为 Python 3
$ sudo mv python python.bak
$ sudo ln -s /usr/local/python3/bin/python3 /usr/bin/python #创建 python3 的软链接
$ sudo vi /usr/bin/yum #因为 yum 使用 Python 2,因此替换为 Python 3 后可能无法正常工作,因此修改 yum 配置文件。将第一行指定的 python 版本改为 python2.7(#!/usr/bin/python 改为 #!/usr/bin/python2.7)
#源码安装 pip
$ wget --no-check-certificate https://github.com/pypa/pip/archive/9.0.1.tar.gz# 下载源代码
$ tar -zvxf 9.0.1 -C pip-9.0.1 # 解压文件
$ cd pip-9.0.1
$ python3 setup.py install# 使用 Python 3 安装
$ sudo ln -s /usr/local/python3/bin/pip /usr/bin/pip3 #创建链接
$ pip install --upgrade pip # 升级 pip
安装setuptools
tar -xvf setuptools-1.4.2.tar.gz
cd setuptools-1.4.2
python setup.py install
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
㈧ python 3 文本处理例子求代码
#coding:utf-8
#file: FileSplit.py
import os,os.path,time
def FileSplit(sourceFile, targetFolder):
sFile = open(sourceFile, 'r')
number = 1000 #每个小文件中保存100000条数据
dataLine = sFile.readline()
tempData = [] #缓存列表
fileNum = 1
if not os.path.isdir(targetFolder): #如果目标目录不存在,则创建
os.mkdir(targetFolder)
while dataLine: #有数据
for row in range(number):
tempData.append(dataLine) #将一行数据添加到列表中
dataLine = sFile.readline()
if not dataLine :
break
tFilename = os.path.join(targetFolder,os.path.split(sourceFile)[1] + str(fileNum) + ".txt")
tFile = open(tFilename, 'a+') #创建小文件
tFile.writelines(tempData) #将列表保存到文件中
tFile.close()
tempData = [] #清空缓存列表
print(tFilename + " 创建于: " + str(time.ctime()))
fileNum += 1 #文件编号
sFile.close()
if __name__ == "__main__" :
FileSplit("access.log","access")
#coding:utf-8
#file: Map.py
import os,os.path,re
def Map(sourceFile, targetFolder):
sFile = open(sourceFile, 'r')
dataLine = sFile.readline()
tempData = {} #缓存列表
if not os.path.isdir(targetFolder): #如果目标目录不存在,则创建
os.mkdir(targetFolder)
while dataLine: #有数据
p_re = re.compile(r'(GET|POST)\s(.*?)\sHTTP/1.[01]',re.IGNORECASE) #用正则表达式解析数据
match = p_re.findall(dataLine)
if match:
visitUrl = match[0][1]
if visitUrl in tempData:
tempData[visitUrl] += 1
else:
tempData[visitUrl] = 1
dataLine = sFile.readline() #读入下一行数据
sFile.close()
tList = []
for key,value in sorted(tempData.items(),key = lambda k:k[1],reverse = True):
tList.append(key + " " + str(value) + '\n')
tFilename = os.path.join(targetFolder,os.path.split(sourceFile)[1] + "_map.txt")
tFile = open(tFilename, 'a+') #创建小文件
tFile.writelines(tList) #将列表保存到文件中
tFile.close()
if __name__ == "__main__" :
Map("access\\access.log1.txt","access")
Map("access\\access.log2.txt","access")
Map("access\\access.log3.txt","access")
#coding:utf-8
#file: Rece.py
import os,os.path,re
def Rece(sourceFolder, targetFile):
tempData = {} #缓存列表
p_re = re.compile(r'(.*?)(\d{1,}$)',re.IGNORECASE) #用正则表达式解析数据
for root,dirs,files in os.walk(sourceFolder):
for fil in files:
if fil.endswith('_map.txt'): #是rece文件
sFile = open(os.path.abspath(os.path.join(root,fil)), 'r')
dataLine = sFile.readline()
while dataLine: #有数据
subdata = p_re.findall(dataLine) #用空格分割数据
#print(subdata[0][0]," ",subdata[0][1])
if subdata[0][0] in tempData:
tempData[subdata[0][0]] += int(subdata[0][1])
else:
tempData[subdata[0][0]] = int(subdata[0][1])
dataLine = sFile.readline() #读入下一行数据
sFile.close()
tList = []
for key,value in sorted(tempData.items(),key = lambda k:k[1],reverse = True):
tList.append(key + " " + str(value) + '\n')
tFilename = os.path.join(sourceFolder,targetFile + "_rece.txt")
tFile = open(tFilename, 'a+') #创建小文件
tFile.writelines(tList) #将列表保存到文件中
tFile.close()
if __name__ == "__main__" :
Rece("access","access")
㈨ Python3虚拟环境搭建的方法
Python3虚拟环境搭建的方法,Linux系统
1、安装虚拟环境
sudo pip install virtualenv
sudo pip install virtualenvwrapper
安装完虚拟环境后,如果提示找不到mkvirtualenv命令,须配置环境变量:
# 1、在~(家目录)下创建目录用来存放虚拟环境
mkdir .virtualenvs
# 2、打开~/.bashrc文件,并添加如下:
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
# 3、运行
source ~/.bashrc
2、通过命令创建虚拟环境
如果不指定Python版本,默认安装的是Python2的虚拟环境
# 在python2中,创建虚拟环境
mkvirtualenv 虚拟环境名称
例 :
mkvirtualenv py_flask
如果是在python3中,创建虚拟环境,需要指定版本
mkvirtualenv -p python3 虚拟环境名称
例 :
mkvirtualenv -p python3 py3_flask
提示:
所有的虚拟环境都位于/home/下的隐藏目录.virtualenvs下,创建虚拟环境需要联网,创建成功后, 会自动工作在这个虚拟环境上,工作在虚拟环境上, 提示符最前面会出现 “虚拟环境名称”
㈩ Python 3 中 os.system调用问题
ifnotos.path.exists(dst_dir):
os.mkdir(dst_dir)
print("thisDIR%ssetupSuccessful!"%dst_dir)
else:
print("thisDIR%sisexists!"%dst_dir)
zip_command="winrara%s%s"%(r_name,''.join(source))
#这个winrar,你在cmd能运行吗?不能的话就加入绝对路径
print(zip_command)
try:
os.system(zip_command)
print("伤不起!")
exceptExceptionase:
print(e)
print("命令执行失败咯,你懂得!")