-
當(dāng)前位置:首頁 > 創(chuàng)意學(xué)院 > 技術(shù) > 專題列表 > 正文
python鏡像網(wǎng)站(python鏡像網(wǎng)站報錯)
大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關(guān)于python鏡像網(wǎng)站的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。
ChatGPT國內(nèi)免費在線使用,一鍵生成原創(chuàng)文章、方案、文案、工作計劃、工作報告、論文、代碼、作文、做題和對話答疑等等
只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準(zhǔn),寫出的就越詳細(xì),有微信小程序端、在線網(wǎng)頁版、PC客戶端
官網(wǎng):https://ai.de1919.com
本文目錄:
一、推薦幾個學(xué)習(xí)Python的免費網(wǎng)站
1、Python @ Coursera
這個課程是為從來沒接觸過編程的人準(zhǔn)備的。你只需要小學(xué)的數(shù)學(xué)水平就可以了。
2、Intro to Computer Science @ Udacity
Udacity提供了一個很棒的免費課程,引你進入Python編程和學(xué)習(xí)關(guān)于搜索引擎的許多東西,以及如何編寫你自己的小型網(wǎng)絡(luò)爬蟲。
3、Pythonspot
Pythonspot是一個綜合教程,劃分了很多不同類別的知識板塊,首先你將擁有初學(xué)者資源來幫你開始Python的學(xué)習(xí),然后你繼續(xù)保持前進你能學(xué)到更多關(guān)于使用Python開發(fā)web等。
二、python3.7基礎(chǔ)鏡像有多大
選擇基礎(chǔ)鏡像的難題
在使用Docker部署某類服務(wù)時,第一個面臨的問題就是選擇一個基礎(chǔ)鏡像。那么如何選擇基礎(chǔ)鏡像更有利于我們的工作呢?
我們知道docker是基于linux的,任何一個鏡像,其包含的 bins/libs/files 都可以認(rèn)為是屬于特定linux版本的一部分。linux一切皆文件的思想下,我們在使用docker制作服務(wù)鏡像部署時,包管理、環(huán)境設(shè)置、程序安裝、命令格式、文件系統(tǒng)、兼容性等對于不同linux版本都可能有一些區(qū)別,所以,選擇一個習(xí)慣使用的linux版本就變得尤為重要。
舉例來說,我需要經(jīng)常用docker部署Python應(yīng)用。在docker hub中選擇哪個基礎(chǔ)鏡像呢?搜索“適合Python開發(fā)的Docker鏡像”會有很多文章,常用的主要有Alpine、Stretch、Jessie等,默認(rèn)版本是基于Ubuntu的,但是太大了。
Alpine是一個微型linux系統(tǒng),選擇這個版本鏡像的很多,因為它足夠小,但是實際項目使用時卻發(fā)現(xiàn)各種各樣的問題。最大問題就是它的c運行庫采用 musl-libc 而不是linux各發(fā)行版的 glibc,所以涉及c運行時會有兼容性的問題。
2、定制基礎(chǔ)鏡像
在選擇基礎(chǔ)鏡像的問題上踩坑無數(shù)之后,決定換個角度想:為什么不基于特定的linux版本,自己制作一個基礎(chǔ)鏡像呢?這樣自己又熟悉,又有開發(fā)環(huán)境來驗證問題,而且很多制作應(yīng)用鏡像時遇到的問題,都可以在定制的基礎(chǔ)鏡像中一次性解決。
從這個想法出發(fā),我選擇熟悉的linux版本基礎(chǔ)鏡像,然后在其中按需求安裝Python環(huán)境,一切都跟在服務(wù)器上安裝Python環(huán)境一樣,這不就又回到了熟悉的操作了嗎?不同的是,這些只需要做一次就可以了,得到自己定制的Python基礎(chǔ)鏡像,后面制作各種應(yīng)用鏡像時,只需要pip安裝依賴庫、復(fù)制文件、添加命令就可以了。
這個方法同樣適用其他的環(huán)境基礎(chǔ)鏡像定制,選擇自己的linux基礎(chǔ)鏡像,在其中像往常一樣安裝需要的環(huán)境。這樣,就可以從鏡像里不熟悉的文件系統(tǒng)中解脫出來了。
3、定制CentOS系統(tǒng)Python基礎(chǔ)鏡像
下面給出一個實例:
開發(fā)環(huán)境:CentOS 7
Python版本:3.6
# 完整功能python3 imiyuer/python:3.6.4-centos
FROM centos:7.5.1804
MAINTAINER imiyuer <imiyuer@qq.com>
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默認(rèn)鏡像源
&& mkdir -p ~/.pip \
&& echo '[global]' > ~/.pip/pip.conf \
&& echo 'index-url = https://pypi.tuna.tsinghua.edu.cn/simple' >> ~/.pip/pip.conf \
&& echo 'trusted-host = pypi.tuna.tsinghua.edu.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 '{}' ';' \
# 設(shè)置系統(tǒng)時區(qū)
&& rm -rf /etc/localtime \
&& ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
登錄后復(fù)制

比如我的生產(chǎn)環(huán)境是centos:7.5.1804,就選擇它作為基礎(chǔ)鏡像。
將Python安裝在/usr/local/python3,所以把程序路徑添加到PATH環(huán)境變量,后續(xù)安裝的python程序就不需要再添加環(huán)境變量或軟連接。添加Python的encoding環(huán)境變量為utf-8。
后面下載安裝Python的過程就都比較熟悉了,玩過Python的人都知道。
最終生成鏡像大?。?53MB,感覺還好。alpine鏡像是90M但是很坑,默認(rèn)python鏡像是689MB。
幾點說明:
1、RUN中盡量使用 \ &&連接命令的方式,減少鏡像層數(shù),可以一定程度減少體積。
2、盡可能刪除不需要的文件,也是為了減少鏡像體積。
3、Python默認(rèn)不安裝wheel,但是第三方庫常需要使用wheel安裝,所以加上它。
4、docker運行時程序獲取系統(tǒng)時間時,如打印日志等,獲取的是docker鏡像內(nèi)文件系統(tǒng)的時區(qū)設(shè)置,默認(rèn)是格林尼治標(biāo)準(zhǔn)時區(qū),所以需要設(shè)置為所在的時區(qū)。
三、Python項目打包為docker鏡像并遷移
1.安裝docker服務(wù):
centos 下直接yum安裝
yum install docker
2.修改docker倉庫地址為國內(nèi):
略
3.編寫Dockerfile, 如下:
4.制作鏡像:
docker build -f Dockerfile -t blogapp:1.0 .
ps:
最后一個參數(shù)是.號,別忘了加
制作鏡像可能是一個漫長的過程。。。
途中有問題會中止,需要檢查問題并修改Dockerfile,然后重新開始。。。
5.查看制作的鏡像:
docker images
6.運行鏡像,創(chuàng)建鏡像實例,即運行容器:
docker run -it -p 192.168.5.109:8080:8888 blogapp:1.0
可以看到,項目已經(jīng)正常開啟,瀏覽器可以正常訪問:
7.導(dǎo)出鏡像為tar包:
docker image save -o blogapp.tar blogapp:1.0
8.在新機導(dǎo)入tar包為鏡像:
docker load < blogapp.tar
9.查看新導(dǎo)入的鏡像:
10.在新機運行鏡像,后臺開啟容器:
docker run -it -p 192.168.5.110:8080:8888 blogapp:1.0
可以看到后臺開啟成功,瀏覽器訪問新址:
四、如何找到Python的官方網(wǎng)站?
百度搜索python,有官方標(biāo)志的就是。
如何找到Python的官方網(wǎng)站?可以閱讀相關(guān)書籍,不過,這類型的問題更直接的是直接搜索。中英文搜索都可以,百度搜索可以使用關(guān)鍵詞Python官方網(wǎng)站,如下圖所示,第二條記錄就是了,要注意的是,官方網(wǎng)站是帶“官方”字樣的,這是百度的信譽認(rèn)證,詳細(xì)情況可通過百度官方了解。
相關(guān)拓展
Python由荷蘭數(shù)學(xué)和計算機科學(xué)研究學(xué)會的Guido van Rossum于1990年代初設(shè)計,作為一門叫作ABC語言的替代品。Python提供了高效的高級數(shù)據(jù)結(jié)構(gòu),還能簡單有效地面向?qū)ο缶幊獭?/p>
Python解釋器易于擴展,可以使用C或C++(或者其他可以通過C調(diào)用的語言)擴展新的功能和數(shù)據(jù)類型。 Python也可用于可定制化軟件中的擴展程序語言。Python豐富的標(biāo)準(zhǔn)庫,提供了適用于各個主要系統(tǒng)平臺的源碼或機器碼。
2021年10月,語言流行指數(shù)的編譯器Tiobe將Python加冕為最受歡迎的編程語言,20年來首次將其置于Java、C和JavaScript之上。
以上內(nèi)容參考 百度百科-Python
以上就是關(guān)于python鏡像網(wǎng)站相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進行咨詢,客服也會為您講解更多精彩的知識和內(nèi)容。
推薦閱讀:
html與python交互(html與python結(jié)合)
互聯(lián)網(wǎng)文案怎么寫(互聯(lián)網(wǎng)文案是什么意思)