Python 0 : Docs & Settings
Posted on 27/08/2019, in Infomation Technology, Python.This post is only for installing and setting up python on computer. All documentation resources are also presented here.
Documentation
- For checking everytime
- programiz.com : nên dùng để tra
- Python trên w3school : nên dùng để xem và check ví dụ (không đầy đủ các method)
- Python 3 on tutorialspoint : nên dùng để xem danh sách hết các method trong mỗi objects.
- Python documentation: http://devdocs.io/python~3.6/ - Official docs : chỉ dùng khi tra từ google
- App mobile (dành để đọc ref): Python Reference của Wenhuan Li
- Course, learning
- Intro to python for data science : video rồi làm bài tập trực tiếp trên web, đang theo.
- Course on Pluralsight: Python fundamentals by Austin Bingham and Robert Smallshire (chỉ video, không bài tập)
- Video bài giảng của Corey Schafer (anh Việt recommend)
- How to think like a computer scientist? : sách được thể hiện dưới dạng html
- Automate the Boring Stuff with Python : free ebook for python (there is a corresponding course on Udemy)
- Python course for Data Science on Big Data University.
- Python for Data Analysis, 2nd Edition by Wes McKinney, published by O’Reilly Media.
- Exercise, practice
- HackerRank : challenge you in different problems and exercises.
- Others with the same type as HackerRank: Exercism, CheckIO,
- Python exercises - w3resource
- PracticePython
- Others:
- Newsletter for python: docs, jobs, news,….
- Insert Datacamp interative Python inside web/blog (also for R)
-
Time complexity các hàm mặc định trong python.
Install
- Có thể cài mọi thứ thông qua Anaconda, tuy nhiên trên Windows vẫn chưa tự nhận thông qua Command Prompt.
- Trên Linux hay Mac thì python tự nhận trong terminal, windows thì cần làm thêm các bước bên dưới.
- Cài IDE Sublime Text 3 : dùng để soạn thảo và chạy python. Thực ra cái Spyder tiện hơn nhưng Spyder không chọn run theo phiên bản python được.
Ubuntu, only use Anaconda
In the case that you have many version of python on Ubuntu and you have just installed Anaconda which also contains another version of python. You wanna keep only one of Anaconda
- Follow this question on SE
- Add Anaconda to PATH:
export PATH=/home/thi/anaconda3/bin:$PATH
- If using above command, it’s only saved for the current workspace, after the computer restarts, it disappears.
- Open
~/.profile
and then paste above command to it. - Excute:
source ~/.profile
in order to immediately reflect changes to your current terminal instance
- Check with
which python
, if it returns/home/thi/anaconda3/bin/python
then it works (python -v
returns anaconda also) - From now, whenever you use
python
, it automatically use python inside the anaconda folder indicated as in the PATH. - If you wanna go back to the system default, open the
.bashrc
file and comment out settings of anaconda with#
. That’s it!
exercism
Xem note này.
Làm cho Windows “nhận”
- Nếu tự cài Python, cần add nó vào PATH của hệ thống Windows.
- Cũng phải cần cài path của Anaconda vào PATH của Windows.
- Start > gõ “Path”, mở Edit the system enviroment variables
- Enviroment Variables > User variables for … > click double vào path
- Click double vào hàng trống cuối cùng trong list > Dán đường dẫn Anaconda vào
- Để có thể tìm đường dẫn Anaconda, nhấn Start > gõ “Anaconda” > chuột phải > Open file location
- Nó mở ra cửa sổ chứa mấy file shortcut > chuột phải lần nữa vào Anaconda > Optn file location > nó sẽ mở đường dẫn của Anaconda, thông thường sẽ là C:\ProgramData\Anaconda3
- Lưu ý, lưu thư mục chứa mấy file python.exe chứ không có lưu cả file đó.
- Sau khi add vào PATH, cần phải restart lại cmder (command prompt thì khỏi)
Jupyter notebook
- See here for full tutorial.
- Windows
- Cái này có sẵn nếu đã cài Anaconda.
- Không thể chạy nó bằng dòng lệnh
jupyter notebook
như các trang hướng dẫn được! - Mà phải chạy bằng
python -m notebook
(chỉ có tác dụng sau khi đã add python path vào PATH của hệ thống như ở trên hướng dẫn) - Cũng có thể chạy file Jupyter Notebook có sẵn nhưng đường dẫn mặc định sau khi chạy xong (localhost:8888) không theo ý mình (ngoài /Home/), do đó, cần dùng cmder (or command prompt)
cd
đến thư mục cần làm “host”, sau đó chạy dòng lệnhpython -m notebook
như ở trên hướng dẫn. -
Nếu bị lỗi
ImportError: DLL load failed:
, hãy thử (ref)activate base # will not work on PowerShell, need to use cmd # then jupyter notebook
- Linux
- Install via Anaconda or install via python3 as below
python3 -m pip install --upgrade pip
pip install --user jupyter
- Run:
python3 -m notebook
(at where you wanna notebook run)
Install package with pip
- Trên Windows, thường nó sẽ hiện ‘pip’ is not recognized as an internal…., lý do là bởi cmd chưa nhận ra pip.exe đang nằm ở đâu, hãy add nó vào PATH của hệ thống giống như hướng dẫn ở mục Làm cho Windows “nhận”
- Nếu cài Anaconda, đường dẫn của pip là C:\ProgramData\Anaconda3\Scripts, nếu cài python riêng lẻ, đường dẫn của pip nằm ở trong thư mục Scripts nơi chứa python.exe.
-
Update pip:
python -m pip install --user --upgrade pip # nếu cmd/cmder không chạy bằng admin # python -m pip install --upgrade pip # phải chạy cmd/cmder bằng quyền admin trước khi cài
- Error
- distributed 1.21.8 requires msgpack, which is not installed.:
pip install msgpack
- distributed 1.21.8 requires msgpack, which is not installed.:
- Other, read this to install pip.
Conda
-
Update conda
conda update -n base -c defaults conda
-
Nếu khi chạy lệnh
conda
mà gặp lỗiTypeError: LoadLibrary() argument 1 must be str, not None
(ở cuối cùng) thì trước đó cần kích hoạt envbase
bằngactivate base
(trên Windows) trước. Sau đó hãy chạy lại lệnh gây lỗi.
Conda environment
(ref) A conda environment is a directory that contains a specific collection of conda packages that you have installed. For example, you may have one environment with NumPy 1.7 and its dependencies, and another environment with NumPy 1.6 for legacy testing. If you change one environment, your other environments are not affected. You can easily activate or deactivate environments, which is how you switch between them. You can also share your environment with someone by giving them a copy of your environment.yaml file.
- Trên Windows, thay vì
conda activate base
, ta dùngactivate base
thôi (bỏconda
). Sau khi cài và thiết lập xong thì env sẽ có đường dẫn: C:\Users\dinha.conda\envs\fastai. - Trên MacOS,
source activate subscribe
activate base # kích hoạt env base
# Tạo một env "fastai" (nó sẽ download hết mấy cái cần thiết về)
conda create -n fastai python=3.7 anaconda
# deactivate (trên windows thì bỏ "conda")
conda deactivate
# xóa một env
conda env remove --name fastai
Liệt kê những env đang có
conda info --envs
# hoặc
conda env list
# base C:\ProgramData\Anaconda3
# fastai * C:\Users\dinha\.conda\envs\fastai
Kernel python 2 & 3 cho jupyter notebook
Nếu muốn chỉnh nhiều kernel cho jupyter notebook (ref):
- Check xem có cài
nb_conda_kernels
chưa bằng lệnhconda list
và dò bằng mắt. - Nếu chưa cài thì:
conda install nb_conda_kernels
-
Nếu đang dùng python 2 và muốn seperate python 3 thì dùng
conda create -n py37 python=3.7 ipykernel # "py37" là tên của env, có thể đặt gì cũng được
-
Nếu đang dùng python 3 và muốn seperate python 2 thì dùng
conda create -n py27 python=2.7 ipykernel
- Đóng terminal, mở lại và gõ vào
jupyter notebook
- Click New và thấy trong danh sách kernel hiện ra sẽ có cái 3.7 và 2.7 cho chọn!
Miscellaneous
-
y=x
, nếuy
change thìx
cũng change luôn. Thay vào đó, dùngy=list(x)
hoặcy=x[:]
-
REPL (read-eval-print-loop) : là môi trường gõ lệnh đơn lẻ, có thể dùng reple.it
- Exit: Ctrl+Z (Windows), Ctrl+D (Linux, Mac)
-
Clear:
del <biến>
: giốngclear
trong matlab, không cần confirm%reset
: xóa hết biến trong workspace hiện tại (giốngclear all
trong matlab). Nếu muốn clear 1 biến cụ thể, dùng%reset_selective <biến>
. Cái này cần confirm- Nếu không muốn thấy confirm, dùng
%reset -f
- Nếu không muốn thấy confirm, dùng
Zen of python
General notes
- không dùng
;
chỉ dùng thụt đầu dòng. Nếu muốn 2 lệnh trên 1 dòng thì cách nhau bởi;
- Tab size trong Python là 4 spaces
-
Có thể break lines bình thường trong python, không cần dùng thêm ký hiệu gì (nhớ thụt đầu dòng vao) HOẶC dùng dấu
\
a = '1' + '2' + '3' + \ '4' + '5' # or a = ('1' + '2' + '3' + '4' + '5')
- Có thể dùng:
a = 1_000_000
(from python 3.6) -
PEP (Python Enhancement Proposals)
Package
-
Một số package dùng trong data:
numpy
(cf this note),matplotlib
(cf this note),scikit-learn
: Machine Learning (cf this note),pandas
(cf this note) - Để cài package thường dùng
pip
:pip3 install <package>
- Để xài
import numpy
và xàinumpy.array()
from numpy import array
và xàiarray()
$\Rightarrow$ cách này thì người ta sẽ không biếtarray()
đến từnumpy
, code không rõ ràng cho lắm (datacamp nói vậy)from numpy import *
là import tất cả luôn (các methods, object đều sẽ hiện hữu, cái này nó khác với cái đầu tiên, cái đầu tiên không hiện hết method, khi nào cần xài thì dùngnumpy.array
thôi (có nói trong CS50)import matplotlib.pyplot as plt
- Viết tắt:
import numy as np
, sau này chỉ cầnnp.array()
Python IDE
Spyder
- Download and install (có thể thông qua Annaconda)
clear
giốngclc
(clear hết trên khung màn hình)%reset
: xóa hết biến trong workspace hiện tại (giốngclear all
trong matlab). Nếu muốn clear 1 biến cụ thể, dùng%reset_selective <biến>
- Chọn lệnh xong nhấn Ctrl+Enter để chạy code trong Spyder
- Chọn command, sau đó nhấn Ctrl+I để xem help về command đó trong Spyder.
- Nhược điểm: không chạy theo version của python được (trải nghiệm của anh Việt), dùng Sublime Text có vẻ ngon hơn điểm này, giao diện của thằng kia cũng khá đẹp và thoáng.
Sublime Text 3
-
face Keyboard shortcuts
- Ctrl + B: Build/Run current file
- Ctrl + K, Ctrl + B: Toggle sidebar
- Ctrl + Shift + P: Open Command Palette
- Ctrl + R: navigate to any function/class/symbol in the file you are currently editing
- Ctrl + P: quick open file
- Ctrl + G: đi đến bất kỳ line nào.
- Alt + Shift + 2: Open second window
- Hướng dẫn từ Corey Schafer
- Download Sublime Text 3
- Nhớ là đã cài Python rồi như ở mục đầu tiên note này.
- Cài đặt bình thường con cá hường.
-
Mở lên, thử một file .py nào đó, có nội dung như sau
print("Hello World!")
- Chạy thử: Tools > Build > chạy được bình thường.
- Install theme giống của Corey
- Ctrl + Shift + P để mở Command Palette (Tools > Command Palette…)
- Gõ vào và cài Pakacge control, giả sử đã cài xong
- Mở CP tiếp, install tiếp hai cái sau (optional, chỉ là giao diện thôi): Predawn và Material Theme
-
Sau đó mở Preferences > Settings > xóa hết cái bên -User và dán vào cái sau (cũng đến từ Corey)
-
face Xem chi tiết
{ "bold_folder_labels": true, "caret_extra_width": 1, "caret_style": "phase", "close_windows_when_empty": false, "theme": "Material-Theme-Darker.sublime-theme", "color_scheme": "Packages/Predawn/predawn.tmTheme", "copy_with_empty_selection": false, "drag_text": false, "draw_minimap_border": true, "enable_tab_scrolling": false, "ensure_newline_at_eof_on_save": true, "file_exclude_patterns": [ "*.pyc", "*.pyo", "*.exe", "*.dll", "*.obj", "*.o", "*.a", "*.lib", "*.so", "*.dylib", "*.ncb", "*.sdf", "*.suo", "*.pdb", "*.idb", ".DS_Store", "*.class", "*.psd", "*.sublime-workspace" ], "font_face": "Source Code Pro", "font_options": [ "no_round" ], "font_size": 15, "highlight_line": true, "highlight_modified_tabs": true, "ignored_packages": [ "Vintage" ], "line_padding_bottom": 1, "line_padding_top": 1, "match_brackets_content": false, "match_selection": false, "match_tags": false, "material_theme_accent_graphite": true, "material_theme_compact_sidebar": true, "open_files_in_new_window": false, "overlay_scroll_bars": "enabled", "preview_on_click": false, "scroll_past_end": true, "scroll_speed": 5.0, "show_definitions": false, "show_encoding": true, "show_errors_inline": false, "show_full_path": false, "sidebar_default": true, "theme": "Default.sublime-theme", "translate_tabs_to_spaces": true, "trim_trailing_white_space_on_save": true, "use_simple_full_screen": true, "word_wrap": true }
-
- Cài thêm package BracketHighlighter (hiện bracket trên cột bên để dễ quan sát), SidebarEnhancement (thêm options vào trong sidebar)
-
cài package Anaconda (cái này giống tên cái Anaconda kia thôi), sau đó cần dán đoạn settings sau vào (Preferences > Package settings > Anaconda > Settings - Users>
-
face Xem chi tiết
{ "auto_formatting": true, "autoformat_ignore": [ "E309", "E501" ], "pep8_ignore": [ "E309", "E501" ], "anaconda_linter_underlines": false, "anaconda_linter_mark_style": "none", "display_signatures": false, "disable_anaconda_completion": true }
Trong đây có option
auto_formatting
có chức năng tự động xóa khoảng trắng thừa nếu mình có nhập nhiều khoảng trắng quá,…
-
-
Tạo Build System mới với nhiều version python khác nhau: Tools > Build System > New Build System… rồi dán cái sau vào (thay đường dẫn đến phiên bản python tương ứng)
-
face In details
{ "cmd": ["/home/thi/anaconda3/bin/python", "-u", "$file"], "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)", "quiet": true }
-
- Chạy code chỉ cần Ctrl + B.
Visual Studio Code
-
face Xem chi tiết
Trong đoạn code kêu dùng Python với Spyder nhưng mà nó không tương thích với HiDPI nên quyết định chọn VSC. Không chọn Pycharm nữa vì nó nặng quá, VSC nhẹ hơn rất nhiều và làm được cho mấy cái ngôn ngữ khác được.
- Cứ mở thử một file python .py lên, nếu chưa cài extension cho VSC thì nó sẽ hỏi, nhấn vào mà cài thôi, nó sẽ cài extension mang tên Python.
- Nó cũng hỏi và đề nghị cài thêm vài cái (quên tên), cứ cài thôi.
- Nó cũng kêu chọn Python Environments gì đó, trong đó có option chọn Anaconda thì cứ chọn thôi (thanh dưới cùng của cửa sổ).
- Xem thêm ở đây để biết về VSC + Python.
Trong course có dùng Ipython để mỗi lần gõ lệnh xong, quét kéo thả vào là chạy, tuy nhiên không biết torng VSC làm ở đâu. Đọc thêm bài viết này.