Python自我成長筆記(一)

在寫這篇文章前,我己自學python一個周了,中間遇到大大小小的坑無數。以下講解一些我的踩坑攻略。
pip安裝命令:python -m pip install --upgrade pip --force-reinstall

踩坑攻略一:
Windows下cmd ‘pip’ 不是內部或外部命令,也不是可運行的程序或批處理文件。
一般安裝後配置環境變量後覺得萬事大吉,殊不知沒有配置Scripts的環境變量。
解決方案:系統變量 Path 加入安裝python的Scripts目錄配置
在這裏插入圖片描述
踩坑攻略二:
Linux下lxml提示不存在,實際上我已經安裝好了lxml。最後發現是被某博主的安裝教程坑了,說是安裝了Python3,實際安裝的是Python2。
解決方案:pip2 install lxml

踩坑攻略三:
不管是linux,還是windows下,執行報錯UnicodeDecodeError: ‘ascii’ codec can’t decode,或者是執行到有中文的地方就會中文亂碼。
解決方案:
在最上面加入代碼:

import sys
reload(sys)
sys.setdefaultencoding('utf-8')

踩坑攻略四:
在linux下如何後臺執行test.py文件,並且無緩存地輸出到日誌文件。

一開始執行nohup python test.py & ,查看了當前目錄下的nohup.out沒有任何內容。jobs -l查看確實掛在後臺執行了。
去查了下python執行有緩存輸出。所以修改一下shell命令。執行後 cat my.log可發現有內容。
解決方案:

nohup python -u test.py > my.log 2>&1 &

踩坑攻略五:
在網上看到了一行Python代碼的啓動一個http服務器

python -m http.server 8888

我的電腦一直報錯
在這裏插入圖片描述
查找資料發現python2版本的命令如下:

解決方案:

python -m SimpleHTTPServer 8080

踩坑攻略六:
當你頻繁的去訪問一個網站的時候會出現
time out , HTTP Error 403: Forbidden,[Errno 104] Connection reset by peer,urlopen error [Errno 10061]和10060
這是因爲你頻繁訪問,被設置了策略,甚至封了你的IP,等等
解決方案:
每次請求之間要time.sleep()。sleep幾秒完成看對你限制的時間長短。在訪問別的網站時,最好先用瀏覽器拿到當前網站Cookie,帶着Cookie訪問,被策略的機會大大降低。

總結:以上大多坑來自於版本問題,所以最近打算直接開始學習Python3。可規避不少問題。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章