[爆卦]python安裝套件是什麼?優點缺點精華區懶人包

為什麼這篇python安裝套件鄉民發文收入到精華區:因為在python安裝套件這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者alvinlin (康斯坦汀《驅魔神探》)標題Re: [問題] 新手學習Python的開發環境時...


另外再補充一些我自己的筆記, 提供參考:

1. Python IDLE 的套件管理程式是 pip.exe, 安裝 IDLE 後可以在命令提示字元輸入
pip --version, 如果出現找不到 pip, 安裝時要勾 PATH, 沒勾可以自己加.

2. 在 Python 裡是透過 import 來匯入套件, 內建的函式像是 print(), 不需要套件.

3. 套件其實就是函式庫, 透過 pip 安裝的套件是由 PiPy https://pypi.org/ 來的.

4. 安裝套件的方式是在命令列輸入 pip install <套件名稱>,
例如: pip install virtualenvwrapper

5. 但有時你會看到 conda install 的指令. conda 是另一個套件管理程式.
它安裝的來源不是同一個. 安裝後套件的目錄也不是同一個.

6. 有些套件在安裝 IDLE 後就裝好了, 只是沒有匯入. 像是 os 套件, sys 套件等.

7. 套件和模組有時是指同一個東西. 它們只差一個 __init__ 檔案外大致相同.

8. import sys 套件後有很多資訊可以參考, 例如:
分別輸入:
(a) sys.executable -> 可以看到目前 python 直譯器的目錄位置
(b) sys.path -> 可以看到套件匯入時的順序.
(c) sys.path.append('路徑名') -> 可以暫時新增要匯入的模組的檔案路徑
(d) sys.builtin_module_names -> 可以查看 Python 所有內建的模組名稱

9. import os 套件後也些資訊可以參考, 例如:
(a) os.getcwd() -> 可以知道目前的工作目錄, 如果讀/寫檔案會在這個目錄

10. 而 pip 也是可以 import pip, 也有些資訊可以參考, 例如:
(a) pip.__path__ -> 可以看到 pip 目前放在哪個目錄,
套件的目錄名稱通常為 /site-packages 通常在那個 pip 的上一層

11. 另外兩個常用指令 dir 和 help 可以找到很多基本資訊. 像是:
(a) help('modules') -> 可以查看本機所有可用的模組
(b) dir(__builtins__) -> 可以查看內建函數和物件

12. 同一台電腦裡有時候會有多個 python 的執行檔, 特別是用虛擬環境時.

13. Python 的虛擬環境其實只是一個資料夾, 它不是虛擬機器的意思.

14. 透過建立 Python 的虛擬環境, 電腦上會有多個 python 的直譯程式.
彼此是獨立互不關聯的.

15. 由於 python有v2和v3兩個版本, 同時每個套件又有n個不同的版本, 有些套件
和套件間的相依套件/模組會互相衝突.使用虛擬環境 (意思是建一個資料夾
放可執行 Python 的環境) 可以將不同版本的python和套件庫獨立出來.

16. 虛擬環境的產生也有很多不同的方式. 有用 PyCharm IDE 產生的, 用 conda
產生的, 用 pip venv, virtualenv 或用 virtualenvwrapper等很多種.

17. Python 程式是用縮排而非括號來區隔程式區塊, 縮排要用空白而非tab, 使用
tab 縮排會產生執行上的問題. 在使用編輯器時要記得把 tab 轉成空白.

18. 有些程式碼撰寫規範, 像是 PEP8 有空閒的話可以參考看看.我是沒看過.XD

19. Python 的 IDEL 可以在 config-extensions.def 檔案裡外掛一些功能.
像是 ClearWindows.py 可以在 IDLE 的功能表新增清理畫面的功能.

20. Python 的 IDLE 也有內建的除錯功能, 也可以匯入 import pdb 來除錯.

21. Python 的 List(列表), Tuple(元組) 類似其他語言的陣列(Array), 但
Python 在 3.3 開始還有另一個內建的 array(陣列) 型別 (import array)
以及 NumPy 套件的 np.array 型別, 剛開始學 Python 時很容易弄混.

22. Python 直譯器是由 C 寫成的, 而 CPython 是官方的實作. 也有其他的實作.


以上提供關鍵字, 在開始學習 Python 常碰到的問題.細節可以再在網上或書上查到.

※ 引述《jayzhuang (Jay)》之銘言:
: 各位大大您好~!
: 在下因為換新工作,新公司未來要我學習python相關的東西
: 但小弟是個新手,所以打算買本書來看看。
: 有看到網友與一些人推薦新手可以買看看這本書:
: https://reurl.cc/MvD0lL
: 或是另一本書:
: https://reurl.cc/yZXr32
: 不過我因為以前寫C#的,所以習慣都用Visual Studio(2015、2019)
: 在前公司也是都用VS,目前新公司也都是用VS開發。
: 我自己有實際在我的電腦用VS寫過一點點python的語法
: (單純的命令提示字元顯示那種,但還沒開始很深......)
: 想詢問看看這兩本書的內容,都可用VS環境學習嗎?
: 或是有人有推薦適合新手的python書,可用VS開發學習?

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.137.104.155 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1591063968.A.E0D.html
cuteSquirrel: 推薦這篇文章 06/02 10:17
※ 編輯: alvinlin (114.137.104.155 臺灣), 06/02/2020 10:47:00
cuteSquirrel: 1. 2. 3. ...段落之間可插入空白行 會更容易閱讀 06/02 11:03
※ 編輯: alvinlin (114.137.104.155 臺灣), 06/02/2020 12:31:46
※ 編輯: alvinlin (114.137.104.155 臺灣), 06/02/2020 12:32:39
alvinlin: 感謝建議^^ 06/02 12:33
cuteSquirrel: 感謝你的分享 : ) 06/02 12:40
summerleaves: 推薦這篇 06/02 15:33
mikapauli: 很詳細 06/02 19:34
s9209122222: 原來不能 TAB!我練習都用 TAB 06/02 20:28
OrzOGC: 很多ide會自動把tab轉成空格了 懶人必備 06/02 21:01
windoors: 感謝大大的分享 06/02 23:06
jayzhuang: 謝謝大大~給推! 06/03 01:25
s9209122222: vim和pycharm都會嗎? 06/03 07:03
alvinlin: 像SumblineText預設是Tab沒改常會有問題。VIM我比較少用 06/03 12:41
alvinlin: 不清楚。PyCharm是設計給Python的應該預設就改了 06/03 12:41
alvinlin: SumLimeText: "translate_tabs_to_spaces": true 06/03 12:45
alvinlin: https://tinyurl.com/ya4v77lg 06/03 12:48
pmove: 我之前用notepad++, tab也沒改 06/03 13:00
refusekkk: 不能tab?我寫兩年200多小程式都用tab不論在win10還是l 06/03 15:09
refusekkk: inux環境,直接用cmd執行都沒出錯過 06/03 15:09
refusekkk: 沒在用什麼ide 一律都是用cmd類的執行 06/03 15:11
refusekkk: 網路刷題不論是atcoder, codeforce, leetcode 通通都 06/03 15:12
refusekkk: 用tab提交,沒出錯過 06/03 15:12
alvinlin: Python 3 disallows mixing the use of tabs and spaces 06/03 15:38
alvinlin: 請參考下列連結說明 06/03 15:39
alvinlin: https://tinyurl.com/nbvekap 06/03 15:40
alvinlin: 簡單說:建議用space而非tab。已經都用tab是不會有問題 06/03 15:42
alvinlin: 。但混用兩者會出錯。我的說明裡只是簡化了。 06/03 15:42
※ 編輯: alvinlin (114.137.104.155 臺灣), 06/03/2020 16:10:50
alvinlin: 這其實只是因為為了讓程式碼無論在什麼地方看起來都有一 06/03 19:47
alvinlin: 致的縮排。因為空白一定是空白一格,但tab在不同地方不 06/03 19:47
alvinlin: 一定是一樣。有時候是4格,有時候是8格。混用兩個有時候 06/03 19:47
alvinlin: 看起來一樣,有時候又不一樣。如此而已。我自己是剛學起 06/03 19:47
alvinlin: 步不久就一直碰到問題,後來在書上看到才知道原來 06/03 19:47
olycats: 我有時也會遇到tab和空格的問題 主要是notepad++的關係 06/03 21:21
olycats: 如果按enter換新的一行 notepad++好像會直接帶tab 06/03 21:23
olycats: 所以直接執行就會出錯 06/03 21:24
olycats: 也或許可以調整設定 我沒有深入研究 06/03 21:24
stucode: 樓上,notepad++ 從 7.7 版開始 python 縮排也預設使用 06/03 23:56
stucode: 空白了。可以更新試試。 06/03 23:56
olycats: 感謝樓上 我會再試試的 06/04 05:35
only0307: 感謝樓主 06/08 23:07
alvinlin: ^^不客氣。 06/09 23:24
salmon12706: 工研院人工智慧課程推薦https://reurl.cc/4RDRaK 06/29 16:15

你可能也想看看

搜尋相關網站