成人黄色在线网站 I 国产aa免费 I 中文字幕免费高清 I 国产三级影院 I 日韩欧美三级在线观看 I 久久久国产精品麻豆a片 I 欧美与黑人午夜性猛交久久久 I 91国产精品视频在线 I 国产美女狂喷水潮在线播放 I 黄页免费网站在线观看 I 欧美日韩激情视频 I 午夜理论无码片在线观看免费 I 深夜爽爽动态图无遮无挡 I 国精产品一区一区三区有限公司杨 I 天天操天天舔天天爽 I 免费看日本黄色片 I 成人va在线 I 日韩中文字幕在线观看 I 婷婷综合网 I 97视频免费观察看 I 色月丁香 I 日韩视频一二三 I 男女黄色毛片 I 美女疯狂连续喷潮视频 I 亚洲日本va一区二区sa I 欧美日韩视频区 I 毛片网在线 I 欧美一本在线 I 少妇一级淫片免费放香蕉 I avav在线看 I 久久精品亚洲中文字幕无码网站 I 天堂av在线中文在线新版 I 电影一区 电影二区 I 色av吧 中文字幕 I 国产精品伊人色

歡迎來到培訓(xùn)無憂網(wǎng)!

全國切換

咨詢熱線 400-001-5729

位置:培訓(xùn)無憂網(wǎng) > 新聞資訊 > 電腦/IT > python培訓(xùn) >  python學(xué)習(xí)編譯方法介紹

python學(xué)習(xí)編譯方法介紹

來源:培訓(xùn)無憂網(wǎng) 發(fā)布人:云朵

2022-03-08 10:31:17|已瀏覽:197次

python學(xué)習(xí)編譯方法介紹

      有時候,需要對python學(xué)習(xí)程序項目進(jìn)行打包,即僅打包python文件編譯后的pyc文件,就需要對python文件進(jìn)行編譯。那么python學(xué)習(xí)如何編譯呢?一起來了解下吧:

python學(xué)習(xí)如何編譯?
編譯方法有兩種:
1、寫一個python簡本,對所需編譯的文件進(jìn)行編譯。(針對比較多的文件,推薦該方法)比如:
      import py_compile<br />
      py_compile.compile("test.py")
2、直接使用python命令(若使用腳本進(jìn)行打包,而且文件少,可使用該方法)。例子如下:
      python -mpy_compile test.py
怎么編譯Python源代碼?
      通常在 Windows 下安裝軟件,只需要下載可執(zhí)行文件,一直下一步就可以完成安裝。而 Linux 下,你可以獲取軟件的源代碼,自行編譯生成可執(zhí)行文件進(jìn)行安裝。用源代碼有什么好處呢?你可以根據(jù)自己的需要對軟件進(jìn)行修改,甚至提前修補(bǔ) 已經(jīng)發(fā)現(xiàn)但廠商沒有更新 的漏洞。這也就是開源的好處。
       源代碼就是用編程語言編寫好的程序,其實就是文本文件,可以通過文本編輯器進(jìn)行編輯。而可執(zhí)行文件是操作系統(tǒng)認(rèn)識的二進(jìn)制程序。要想將源代碼變成可執(zhí)行文件,就需要對源代碼進(jìn)行編譯。
      C語言的編譯程序就是gcc
      軟件的源代碼(文本文檔)+ 系統(tǒng)已有的函數(shù)庫,經(jīng)過編譯器的編譯,生成可執(zhí)行文件 函數(shù)庫是做什么的?如同 Python 會調(diào)用大量外部的模塊/庫幫助實現(xiàn)一些功能一樣,軟件也會用到系統(tǒng)的函數(shù)完成一些任務(wù),所以需要在編譯時寫入,以便程序執(zhí)行時調(diào)用。
      一個軟件往往不僅有一個源代碼文件,如果手動對每一個源文件進(jìn)行編譯,太累了,好在有一個非常有用的工具make,可以自動完成編譯的過程。那么,make根據(jù)什么進(jìn)行編譯呢?他會在當(dāng)前目錄下搜索 Makefile/makefile 文件,這個文件中提供了所需的所有內(nèi)容。但這個文件并不是生來就有、一成不變的。
      由于各種 Linux 系統(tǒng)內(nèi)部環(huán)境不同,軟件開發(fā)者會編寫一個自動檢測環(huán)境是否符合要求,為每種環(huán)境生成特定 Makefile/makefile 文件的程序,就是configure。
      值得一提的是,當(dāng)源代碼修改后重新編譯時,make 能夠識別變動的部分,進(jìn)行增量更新。
      源代碼是純文本文件,如果軟件開發(fā)者直接提供這些純文本文件,會浪費開發(fā)者的帶寬,也使得用戶不易下載。
      所以,出現(xiàn)了 Tarball 文件,就是將軟件的所有源代碼先以 tar 打包,然后用壓縮技術(shù)壓縮,通常使用 gzip,所以一般擴(kuò)展名是*.tar.gz或*.tgz。不過后來出現(xiàn)了壓縮效率更高的 bzip2,所以擴(kuò)展名也會有*.tar.bz2之類。
Tarball 文件通常包含:
      ./configure --enable-framework=/Users/ronald/Library/Frameworks
      setup.py missing.append
      刪除安裝目錄 rm -rf /usr/local/bin/xxx
64位系統(tǒng)如何編譯Python?
      如果在64位系統(tǒng)下默認(rèn)執(zhí)行./configure編譯python會使用32位的動態(tài)庫,當(dāng)安裝mod_wsgi或者mod_python時會出錯,這時候需要重新編譯python來解決此問題。
      下載python源碼。比如2.6.5或2.6.6。
解壓后configure:
      ./configure --prefix=/usr/local --with-threads --enable-shared --enable-universalsdk
       --prefix選項表示把目標(biāo)編譯到/usr/local這個目錄中。
      a. 如果只用./configure命令,那默認(rèn)會編譯出靜態(tài)的.a以及32位的動態(tài)庫。 b. 最后一個選項非常重要。如果這個選項不加,那只會編譯出32位的庫。
3. make &&make install
      這時執(zhí)行python,很有可能會報一個錯:
      libpython2.6.so.1.0:
      cannotopen shared object file: No such file or directory
      這是因為編譯的libpython2.6.so.1.0是在/usr/local/python2.6/lib里面,可以做一個到/usr/lib64的軟鏈接,或者直接把它復(fù)制過去就行了。
或者也可以這樣:
      echo‘/usr/local/python2.6/lib’ > /etc/ld.so.conf.d/opt-python2.6.conf
接著執(zhí)行
      ldconfig
最后可以通過以下命令驗證是否存在64位的libpython:
      ldconfig–p | grep python
      看有沒有類似“l(fā)ibpython2.6.so.1.0(libc6,x86-64) => /usr/local/python2.6/lib/libpython2.6.so.1.0”的輸出。

      注:尊重原創(chuàng)文章,轉(zhuǎn)載請注明出處和鏈接 http://m.hebeijilong.cn/news-id-24574.html 違者必究!部分文章來源于網(wǎng)絡(luò)由培訓(xùn)無憂網(wǎng)編輯部人員整理發(fā)布,內(nèi)容真實性請自行核實或聯(lián)系我們,了解更多相關(guān)資訊請關(guān)注python培訓(xùn)頻道查看更多,了解相關(guān)專業(yè)課程信息您可在線咨詢也可免費申請試課。關(guān)注官方微信了解更多:150 3333 6050

留下你的信息,課程顧問老師會一對一幫助你規(guī)劃更適合你的專業(yè)課程!
  • 姓名:

  • 手機(jī):

  • 地區(qū):

  • 想學(xué)什么:

  • 培訓(xùn)無憂網(wǎng)
免 費 申 請 試 聽
提交申請,《培訓(xùn)無憂網(wǎng)》課程顧問老師會一對一幫助你規(guī)劃更適合你的專業(yè)課程!