日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

CentOS下升级python版本

發布時間:2024/8/23 python 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CentOS下升级python版本 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

源碼安裝python

  • 安裝python源碼所依賴的工具及依賴的庫

    yum install -y make gcc gcc-c++ yum install -y bzip2 bzip2-devel yum install zlib-devel openssl openssl-devel -y yum install -y make xz
  • 下載安裝python源碼

    從官方網站或者華為鏡像源下載所有需的源碼包,此處以Python-2.7.10.tar.xz為例.

    wget https://www.python.org/ftp/python/2.7.10/Python-2.7.10.tar.xz yum -y install make xz xz -d Python-2.7.10.tar.xz tar xvf Python-2.7.10.tar cd Python-2.7.10 ./configure --enable-shared make make install

    make install can overwrite or masquerade the python3 binary. make altinstall is therefore recommended instead of make install since it only installs exec_prefix/bin/pythonversion.

  • 通過下面命令可以查看安裝包的路徑

    $ python -c "from distutils.sysconfig import get_python_lib; print (get_python_lib())" /usr/lib/python2.7/site-packages $ python -c "import os; print os.__file__" /usr/lib64/python2.7/os.pyc $ python -c "import sys; print sys.executable" /usr/bin/python
  • 其他配置

    • 解決python運行時找不到動態庫的問題

      echo "/usr/local/lib" >> /etc/ld.so.conf # 將/usr/local/lib添加到/etc/ld.so.conf文件末尾 ldconfig
    • 工具yum使用的原版的python,在這里需要處理。
      vi /usr/bin/yum

      將第一行的#!/usr/bin/python修改為系統原有的python版本地址#!/usr/bin/python2.6

  • python升級腳本

    #!/bin/bashFILE_DIR=$(cd "$(dirname "$0")"; pwd)function upgrade_python {# 安裝編譯python源碼必須的工具yum -y install wget xz yum -y install gcc gcc-c++yum -y install make automake autoconfyum -y install bzip2 bzip2-devel bzip2-libs zlib-develyum -y install openssl openssl-develyum -y install bind-utils# 下載python源碼包[ -e Python-2.7.11.tar.xz ] || wget https://www.python.org/ftp/python/2.7.11/Python-2.7.11.tar.xzxz -k -d Python-2.7.11.tar.xztar xvf Python-2.7.11.tarcd Python-2.7.11./configure --enable-sharedmakemake installcd "${FILE_DIR}"# 解決Python運行時找不到動態庫的問題echo "/usr/local/lib" > /etc/ld.so.conf.d/python2.7.confldconfig# yum工具默認依賴python2.6,需要修改sed -i '1s/python$/python2.6/' /usr/bin/yum# 備份/usr/bin/python,連接到新安裝的python版本上mv /usr/bin/python{,_bk}ln -s /usr/local/bin/python /usr/bin/python# 安裝pip工具wget https://bootstrap.pypa.io/get-pip.py -O - | python }upgrade_python
  • python -c "import sysconfig; print(sysconfig.get_config_vars(\"CONFIG_ARGS\"))"可以查看python的配置參數

Sat Mar 6 17:48:27 CST 2021 CentOS7 Python3.8.8

yum install gcc gcc-c++ make pkgconfig yum install libffi-devel zlib-devel xz-devel bzip2-devel readline-devel sqlite-devel ncurses-devel gdbm-devel openssl-devel expat-devel libtirpc-devel libuuid-devel CXX=/usr/bin/g++ ./configure --prefix=/usr/local/python388 --with-ssl-default-suites=openssl make -j 4 make altinstall ls /usr/local/python388/bin/ # 2to3-3.8 easy_install-3.8 idle3.8 pip3.8 pydoc3.8 python3.8 python3.8-config

工具包安裝及使用

打包工具setuptools

  • 功能:Easily download, build, install, upgrade, and uninstall Python packages
  • 具體安裝方法請自行參考:https://pypi.python.org/pypi/setuptools#downloads
  • 官網倡導的安裝方法:wget https://bootstrap.pypa.io/ez_setup.py -O - | python

此包給用戶使用的easy_install工具,安裝需要的包簡單易用,開發者發布包的所需指導。

  • The EasyInstall user’s guide and reference manual
  • The setuptools Developer’s Guide
  • The pkg_resources API reference
  • The Internal Structure of Python Eggs

包安裝工具pip

  • 功能:The PyPA recommended tool for installing Python packages
  • wget --no-check-certificate https://bootstrap.pypa.io/get-pip.py -O - | python
  • pip主頁地址:https://pypi.python.org/pypi/pip#downloads
  • 源碼安裝wget https://pypi.python.org/packages/source/p/pip/pip-7.1.2.tar.gz#md5=3823d2343d9f3aaab21cf9c917710196tar zxvf pip-7.1.2.tar.gz cd pip-7.1.2 python setup.py install

安裝后的工具path:PythonXX/Scripts,在window下有必要將此路徑加入環境變量path中

使用pip:

  • pip --help 查看pip的幫助文檔
  • pip list 查看已安裝的packages
  • pip install xlrd 安裝xlrd,用于處理Excel的packages
    其他應用請參照pip幫助

Python自動文檔工具pydoc

首先認識一條比較重要的命令
python -m mod 作為腳本運行mod庫,if name == 'main’是作為腳本運行的部分.

  • python -m SimpleHTTPServer 6666 #簡單一個命令搭建目錄服務器
  • 查看math庫手冊 python -m pydoc math
  • 查看函數手冊 python -m pydoc math.asin
  • 開啟本地手冊服務器,可以再網頁上查看所有的庫函數手冊,感覺十分強大 python -m pydoc -p port

python2腳本轉化為python3腳本的工具2to3

python是中十分強大的語言,但它的高速發展,也給廣大開發這帶來許多困惑,python3并不兼容python2
Python3x/Tools/Scripts/2to3.py

#test.py def greet(name):print "Hello, {0}!".format(name) print "What's your name?" name = raw_input() greet(name)

C:/Python34/Tools/Scripts/2to3.py -w test.py

#test.py def greet(name):print("Hello, {0}!".format(name)) print("What's your name?") name = input() greet(name)

這里可以看到2to3后的變化
pirnt函數函數調用的方式使用,raw_input替換成了input

詳細轉換請參照python3的手冊以及http://woodpecker.org.cn/diveintopython3/porting-code-to-python-3-with-2to3.html

參考

  • http://www.aiplaypc.com/31.html
  • Python Developer’s Guide?
  • [https://devguide.python.org/setup/#build-dependencies](Install dependencies)
  • Common build problems

總結

以上是生活随笔為你收集整理的CentOS下升级python版本的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。