找回密码
 会员注册
查看: 33|回复: 0

liunx上python编译安装用Anaconda同时安装运行多个不同版本的python环境在CentOS7上安装Python3.7汉化python均无误,已测试运行成功

[复制链接]

4

主题

0

回帖

13

积分

新手上路

积分
13
发表于 2024-9-3 22:11:07 | 显示全部楼层 |阅读模式
目录1编译安装前期准备安装Python3.7配置环境变量配置共享库文件测试python3测试pip3配置pip3使用国内源配置使用国内源安装第三方模块重新测试:编译安装python3.7和pip均安装成功2.担心不好卸载使用Anaconda同时安装运行多个不同版本的python环境验证Anaconda是否配置正确创建和管理Python环境1.创建一个新的Python测试环境:2.创建一个生产环境:实际可用的Python3环境:激活虚拟环境:现在你已经成功激活了py3虚拟环境,你可以在这个环境中安装和运行Python3程序。使用condalist查看当前环境中已安装的包。[root@slave2~]#python3--version ython3.8.8[root@slave2~]# 3.如果conda命令找不到,conda无法使用汉化Python检查Python安装安装pip和常用插件验证安装Python特点扩展举例为什么举例?1编译安装注意:系统上已有                 python2.7使用以下 卸载,不卸载也行编译安装注意要验证时使用python3 -versionyum-yremove$(rpm-qa|greppython)前期准备更新系统软件包列表:更新系统软件包此步骤可不做:若编译安装失败后把包删干净再执行此步骤,Copysudoyumupdate安装必要的依赖此步骤在编译安装必做:Copyyuminstall-ygccopenssl-develbzip2-devellibffi-develzlib-devel gcc-c++安装Python3.7下载Python3.7源码包:Copywgethttps://www.python.org/ftp/python/3.7.12/Python-3.7.12.tgz/usr/local/cd /usr/local/ls解压源码包并进入目录:Copy两个命令tarxzfPython-3.7.12.tgzcdPython-3.7.12编译和安装Python3.7:Copy这是三个命令./configure--enable-optimizations--enable-shared--prefix=/usr/local/python3--enable-optimizations启用优化--enable-shared指定安装共享库,共享库在使用其他需调用python的软件时会用到,比如使用mod_wgsi 连接Apache与python时需要。--prefix--前缀#make-j2指定2核cpu执行编译过程,会提高编译速度make-j2&makeinstall #编译并安装,时间比较慢,预计30分钟Processing/tmp/tmpc18vljnr/pip-20.1.1-py2.py3-none-any.whlInstallingcollectedpackages:setuptools,pip WARNING:Thescripteasy_install-3.7isinstalledin'/usr/local/python3/bin'whichisnotonPATH. ConsideraddingthisdirectorytoPATHor,ifyouprefertosuppressthiswarning,use--no-warn-script-location. WARNING:Thescriptspip3andpip3.7areinstalledin'/usr/local/python3/bin'whichisnotonPATH. ConsideraddingthisdirectorytoPATHor,ifyouprefertosuppressthiswarning,use--no-warn-script-location.Successfullyinstalledpip-20.1.1setuptools-47.1.0[root@rootPython-3.7.12]#  根据提示:警告:脚本easy_install-3.7安装在PATH上不存在的/usr/local/python3/bin中。考虑将此目录添加到PATH中,或者,如果您希望避免此警告,请使用--no-warn-script-location。警告:脚本pip3和pip3.7安装在PATH上不存在的/usr/local/python3/bin中。考虑将此目录添加到PATH中,或者,如果您希望避免此警告,请使用--no-warn-script-location。配置环境变量根据提示,配置环境变量,把/usr/local/python3/bin:/usr/local/python3/bin添加进/etc/profile里面。[root@slave2opt]#vim/etc/profileexportPATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/git/bin:/usr/local/python3/bin:/usr/local/python3/binexportJAVA_HOME="/usr/local/src/java/jdk1.8.0_141"exportPATH="$PATHJAVA_HOME/bin"exportJRE_HOME=${JAVA_HOME}/jreexportCLASSPATH=.{JAVA_HOME}/lib{JRE_HOME}/lib #/usr/local/python3/bin:/usr/local/python3/bin是我们手动添加的配置环境变量[root@rootPython-3.7.12]#source/etc/profile配置共享库文件cd/usr/local/python3/bin/./python3 ./python3:errorwhileloadingsharedlibraries:libpython3.6m.so.1.0:cannotopensharedobjectfile:Nosuchfileordirectory 有此报错为所有用户设置共享库目录用vim编辑器打开配置文件/etc/profile.d/python3.sh vim/etc/profile.d/python3.sh在文件末尾写上如下内容: #python3.6共享库目录 exportPATH=$PATH:/usr/local/python3/bin编辑文件/etc/ld.so.conf.d/python3.conf,并且添加如下内容: #vim/etc/ld.so.conf.d/python3.conf /usr/local/python3/lib保存退出文件后,执行如下命令加载配置信息使其生效[root@rootbin]#python3ldconfig 后,系统会重新扫描 /etc/ld.so.conf 和 /etc/ld.so.conf.d/ 目录下的所有文件,并更新动态链接器的缓存。这样,新添加的库路径就会被系统识别,您安装的Python模块或库就可以被正确加载了执行如下命令,使环境变量生效 source/etc/profile.d/python3.sh测试python3[root@rootbin]#python3Python3.7.12(default,Aug222024,12:22:56) [GCC4.8.520150623(RedHat4.8.5-44)]onlinuxType"help","copyright","credits"or"license"formoreinformation.>>>>>> print('qf')#注意前面不能有空格有空格报错 File"",line1  print('qf')  ^IndentationError:unexpectedindent>>>print('qf')qf>>> 输入exit()即可退出python3测试pip3一般情况下你不需要执行下面的pip安装命令,安装python时会顺手安装。若 pip3-V不显示版本,那么需要执行下面的pip安装命令[root@rootbin]#pip3-Vpip20.1.1from/usr/local/python3/lib/python3.7/site-packages/pip(python3.7)[root@rootbin]# 假如上面显示的含有python3.7就没问题了,说明pip3安装的模块会安装到上面显示的目录一般情况下你不需要执行下面的安装命令。 pip3installgnureadline配置pip3使用国内源创建配置文件 #Linux下使用 mkdir~/.pip vi~/.pip/pip.conf ​ #Windows下使用pip.ini (1):在windows文件管理器中,输入%APPDATA% (2):会定位到一个新的目录下,在该目录下新建pip文件夹,然后到pip文件夹里面去新建个pip.ini文件写入如下内容:[global]timeout=6000index-url=https://mirrors.aliyun.com/pypi/simple豆瓣源:https://pypi.douban.com/simple/阿里源:https://mirrors.aliyun.com/pypi/simple清华:https://pypi.tuna.tsinghua.edu.cn/simple阿里云:  http://mirrors.aliyun.com/pypi/simple/中国科技大学https://pypi.mirrors.ustc.edu.cn/simple/华中理工大学:http://pypi.hustunique.com/山东理工大学:http://pypi.sdutlinux.org/[root@rootbin]#ldconfig配置使用国内源安装第三方模块示例:比如安装一个执行远程主机命令的模块 [root@python~]#pip3installgnureadline 切换为阿里云之后,下载就会自动用阿里的pip源地址进行读取下载卸载redis软件: [root@python-serverbin]#pip3uninstallredis列出已安装:[root@python-serverbin]#pip3list查看已安装软件版本[root@python-serverbin]#pip3freeze导入到requirements.txt[root@python-serverbin]#pip3freeze>requirements.txtYouareusingpipversion9.0.3,howeverversion20.2.2isavailable.Youshouldconsiderupgradingviathe'pipinstall--upgradepip'command.[root@python-serverbin]#catrequirements.txt gnureadline==8.0.0redis==3.5.3安装开发人员提供的软件(也就是程序运行所需要的基础环境)[root@python-serverbin]#pip3install-rrequirements.txt小技巧列出可以使用pip安装的,所有 redis的版本[root@python-serverbin]#pip3installredis==kkk升级pip 不建议,软件不是越新越好#pip3install--upgradepip[root@mysql-server1~]#pip3-V重新测试:编译安装python3.7和pip均安装成功[root@rootbin]#python3Python3.7.12(default,Aug222024,12:22:56) [GCC4.8.520150623(RedHat4.8.5-44)]onlinuxType"help","copyright","credits"or"license"formoreinformation.>>>  [root@rootbin]#pip3-Vpip20.1.1from/usr/local/python3/lib/python3.7/site-packages/pip(python3.7)[root@rootbin]#  2.担心不好卸载使用Anaconda同时安装运行多个不同版本的python环境Anaconda是一个更大的数据科学平台,包含了Conda包管理器以及许多常用的数据科学工具和库。Anaconda和Miniconda的区别在于Anaconda预先安装了一系列常用的数据科学工具和库,而Miniconda只包含Conda和其基本依赖[root@root~]#1.使用以下命令下载Anaconda安装脚本(请注意这里的下载链接可能会有更新,建议去Anaconda官网查看最新版本链接)[root@slave2~]#cd/opt wgethttps://repo.anaconda.com/archive/Anaconda3-2021.05-Linux-x86_64.sh是544m下载很慢请耐心等待2.给下载的脚本添加执行权限:[root@slave2opt]#ls1.txt               jack.txt     test.shAnaconda3-2021.05-Linux-x86_64.sh my_git_project  tom.shcontainerd            mysql-gid-bak.sql tom.txt  chmod+xAnaconda3-2021.05-Linux-x86_64.sh3.运行安装脚本  [root@slave2opt]#./Anaconda3-2021.05-Linux-x86_64.sh WelcometoAnaconda32021.05Inordertocontinuetheinstallationprocess,pleasereviewthelicenseagreement.Please,pressENTERtocontinue>>> #  按enter键,继续4.安装完成后,需要激活Anaconda。根据提示选择是否将conda初始化加入到.bashrc文件,一般会选择yes。>> leaseanswer'yes'or'no':'>>> leaseanswer'yes'or'no':'>>> leaseanswer'yes'or'no':'>>> leaseanswer'yes'or'no':'>>> leaseanswer'yes'or'no':'>>> leaseanswer'yes'or'no':'>>>yes Anaconda3willnowbeinstalledintothislocation:/root/anaconda3 -PressENTERtoconfirmthelocation -PressCTRL-Ctoaborttheinstallation -Orspecifyadifferentlocationbelow[/root/anaconda3]>>> 以上翻译如下:​按Enter确认位置:按下Enter键确认安装Anaconda3到/root/anaconda3等待安装完成:安装程序会开始复制文件和安装Anaconda3到指定位置。请耐心等待安装完成,过程可能需要一些时间取决于系统性能和文件大小等待一会出现如下: 输入yesPreparingtransaction:doneExecutingtransaction:doneinstallationfinished.DoyouwishtheinstallertoinitializeAnaconda3byrunningcondainit?[yes|no][no]>>>yes   DoyouwishtheinstallertoinitializeAnaconda3的意思是您希望安装程序初始化Anaconda3吗?安装完成后,你需要配置Anaconda3的环境变量,就是步骤5以下是安装完成界面。ThankyouforinstallingAnaconda3!===========================================================================WorkingwithPythonandJupyternotebooksisabreezewithPyCharmPro,designedtobeusedwithAnaconda.Downloadnowandhavethebestdatatoolsatyourfingertips.PyCharmProforAnacondaisavailableat:https://www.anaconda.com/pycharm[root@slave2opt]#  5.安装完成后,重新配置环境变量~/.bashrc和/etc/profile是两个不同的文件,在Linux系统中具有不同的作用和范围,  vim~/.bashrc 对当前用户的Shell生效1.确认Anaconda的安装路径并配置环境变量 通常默安装路径是 :/root/anaconda3也可能是其他路径,如/home/username/anaconda3等。可以用whereis anaconda3 查看一下[root@slave2opt]#vim/etc/profile                       #对所有用户的Shell生效在文件末尾添加以下行,确保替换实际的Anaconda安装路径:exportPATH="/root/anaconda3/binPATH"保存并关闭文件。使新的环境变量设置生效:[root@slave2~]#source/etc/profile   #注你在输入或者粘贴代码的时候/#和代码不能有空格,不然会报错,如下[root@slave2~]#source/etc/profile -bash:/etc/profile :没有那个文件或目录 验证Anaconda是否配置正确检查conda命令是否可用:[root@slave2~]#conda--versionconda4.10.1创建和管理Python环境当conda命令可用后,你可以继续创建和管理Python环境:1.创建一个新的Python测试环境:[root@slave2~]#condacreate--namemyenvCollectingpackagemetadata(current_repodata.json):doneSolvingenvironment:done==>WARNING:Anewerversionofcondaexists.Currentlysupportedshellsare: -bash -fish -tcsh -xonsh -zsh -powershellSee'condainit--help'formoreinformationandoptions.IMPORTANT:Youmayneedtocloseandrestartyourshellafterrunning'condainit'.[root@slave2~]# 安装包,例如numpy:Copycondainstallnumpy[root@slave2~]#condainstallnumpyCollectingpackagemetadata(current_repodata.json):doneSolvingenvironment:done==>WARNING:Anewerversionofcondaexists.Currentlysupportedshellsare: -bash ​IMPORTANT:Youmayneedtocloseandrestartyourshellafterrunning'condainit'.​ 根据提供的错误信息,使用condadeactivate命令时出现问题错误提示中提到:您的shell尚未正确配置以使用‘condadeactivate’命令 运行“condainit”后,您可能需要关闭并重新启动您的shell。根据提示,运行以下命令来初始化shell:condainitshell名称condainitbash运行完上述命令后,可能需要关闭并重新启动 shell,以使更改生效。然后,应该能够成功使用‘condadeactivate’命令[root@slave2~]#condainitbashnochange  /root/anaconda3/condabin/condanochange  /root/anaconda3/bin/condanochange  /root/anaconda3/bin/conda-envnochange  /root/anaconda3/bin/activatenochange  /root/anaconda3/bin/deactivatenochange  /root/anaconda3/etc/profile.d/conda.shnochange  /root/anaconda3/etc/fish/conf.d/conda.fishnochange  /root/anaconda3/shell/condabin/Conda.psm1nochange  /root/anaconda3/shell/condabin/conda-hook.ps1nochange  /root/anaconda3/lib/python3.8/site-packages/xontrib/conda.xshnochange  /root/anaconda3/etc/profile.d/conda.cshnochange  /root/.bashrcNoactiontaken.[root@slave2~]#  注意:如果使用的是不同的shell(如fish、tcsh、xonsh、zsh、powershell等),则应使用相应的shell名称来运行‘condainit’命令 退出当前环境, 返回到基础环境。condadeactivate7.删除环境:Copycondaremove--namemyenv--all删除指定的环境及其所有包。8.更新Conda:可以不更新 Copycondaupdateconda更新Conda本身到最新版本。这些是使用Conda的基本操作,帮助你开始管理Python环境和软件包。2.创建一个生产环境:实际可用的Python3环境:这将在Anaconda中创建一个名为 py3的Python3环境。打开终端。运行以下命令创建一个名为py3的Python3环境:Copycondacreate--namepy3python=3激活虚拟环境:运行以下命令激活一个叫做py3的虚拟环境:condaactivatepy3现在你已经成功激活了py3虚拟环境,你可以在这个环境中安装和运行Python3程序。 验证环境:可以运行python--version来验证Python版本是否为Python3。使用condalist查看当前环境中已安装的包。安装包,例如numpy:Copycondainstallnumpy更新软件包: condaupdate包名Copycondaupdatenumpy-y更新指定软件包到最新版本。[root@slave2~]#python3--version ython3.8.8[root@slave2~]#  3.如果conda命令找不到,conda无法使用如果在执行上述创建环境步骤后,conda命令仍然未找到,请考虑以下几种可能性:Anaconda未正确安装:尝试重新安装Anaconda,并确保安装路径正确。环境变量未正确设置:确认路径配置正确,并确保已执行source~/.bashrc使修改生效。权限问题:确认你在操作过程中有足够的权限,尤其是路径和配置文件的修改。汉化Python下载汉化补丁:Copywgethttps://raw.githubusercontent.com/Python3WebSpider/Python3WebSpider/master/Python3.7%E6%B1%89%E5%8C%96%E8%A1%A5%E4%B8%81.patch应用汉化补丁:Copysudopatch-p0>>a=5>>>b=10>>>a+b15解释: 互动模式支持即时反馈,适合测试和调试代码。可移植:举例: ython代码可以在不同平台上无缝运行,例如在Windows和Linux上运行相同的脚本。Copyimportosprint(os.name)#输出当前操作系统的名称解释: ython的跨平台特性使得开发者可以编写一次代码,在多个平台上运行。可扩展:举例: 使用C扩展模块来优化关键性能部分。Copy//example.c#include staticPyObject*my_function(PyObject*self,PyObject*args){returnPy_BuildValue("i",42);}staticPyMethodDefmyMethods[]={{"my_function",my_function,METH_VARARGS,"Returns42."},{NULL,NULL,0,NULL}};staticstructPyModuleDefmyModule={PyModuleDef_HEAD_INIT,"myModule",NULL,-1,myMethods};PyMODINIT_FUNCPyInit_myModule(void){returnPyModule_Create(&myModule);}Copy#使用C扩展模块的Python代码importmyModuleprint(myModule.my_function())#输出42解释: 通过C/C++扩展,Python可以实现高性能计算。数据库:举例: 使用Python的sqlite3模块连接和操作SQLite数据库。Copyimportsqlite3conn=sqlite3.connect('example.db')c=conn.cursor()c.execute('''CREATETABLEIFNOTEXISTSusers(idINTEGERPRIMARYKEY,nameTEXT)''')c.execute("INSERTINTOusers(name)VALUES('Alice')")conn.commit()conn.close()解释: Python提供了对各种数据库的支持,使得数据库操作变得简单。GUI编程:举例: 使用tkinter模块创建一个简单的GUI应用。Copyimporttkinterastkroot=tk.Tk()label=tk.Label(root,text="Hello,GUI!")label.pack()root.mainloop()解释: Python支持多种GUI库,可以创建跨平台的图形用户界面应用。可嵌入:举例: 在C程序中嵌入Python解释器。Copy#include intmain(intargc,char*argv[]){Py_Initialize();PyRun_SimpleString("print('HellofromembeddedPython!')");Py_Finalize();return0;}解释: 可以将Python嵌入到其他语言的应用程序中,为应用程序增加脚本支持。为什么举例?这些举例展说明Python在不同领域中的应用及其优势,进一步说明了Python是一个功能强大且灵活的编程语言
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2025-1-13 07:24 , Processed in 0.475521 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表