Code
import sys
print(sys.version)
3.11.9 (v3.11.9:de54cf5be3, Apr 2 2024, 07:12:50) [Clang 13.0.0 (clang-1300.0.29.30)]
Tony Duan
Go->computer->Macintosh HD->Library->Frameworks->Python.framework->Versions
Delete the old version python folder:
list all python file
ls /usr/local/bin/python*
delete the old version
brew uninstall python@3.11
list all file in home path
find .Renviron and edit to new version
file | size_MB | |
---|---|---|
0 | .Rhistory | 0.002805 |
1 | test_folder | 0.000064 |
2 | .DS_Store | 0.008196 |
3 | images | 0.000960 |
4 | 0 Basic python.qmd | 0.004885 |
5 | hotels.csv | 16.855599 |
6 | .RData | 0.002595 |
7 | 3 statistic Book.qmd | 0.000453 |
8 | 1 Python Book.qmd | 0.000644 |
9 | 2 Data Book.qmd | 0.001405 |
10 | data | 0.000096 |
11 | 0 Basic python.quarto_ipynb | 0.016782 |
os.stat_result(st_mode=33188, st_ino=69773616, st_dev=16777234, st_nlink=1, st_uid=501, st_gid=20, st_size=453, st_atime=1741980776, st_mtime=1712419159, st_ctime=1740969673)
show st_atime
create it if not exist
it will add index
[(0, 'apple'), (1, 'banana'), (2, 'cherry')]
with break statement
it a faster way to do function
its a for loop in list
The Python Package Index (PyPI).https://pypi.org//
Package Version
---------------------------- -----------
absl-py 2.1.0
accelerate 1.5.1
appnope 0.1.4
asttokens 3.0.0
astunparse 1.6.3
attrs 25.3.0
babel 2.17.0
bitsandbytes 0.42.0
certifi 2025.1.31
charset-normalizer 3.4.1
comm 0.2.2
commonmark 0.9.1
contourpy 1.3.1
cycler 0.12.1
debugpy 1.8.13
decorator 5.2.1
executing 2.2.0
faicons 0.2.2
fastjsonschema 2.21.1
filelock 3.17.0
flatbuffers 25.2.10
fonttools 4.56.0
fsspec 2025.3.0
gast 0.6.0
google-pasta 0.2.0
great-tables 0.17.0
grpcio 1.71.0
h5py 3.13.0
htmltools 0.6.0
huggingface-hub 0.29.3
idna 3.10
importlib_metadata 8.6.1
importlib_resources 6.5.2
ipykernel 6.29.5
ipython 9.0.2
ipython_pygments_lexers 1.1.1
jax 0.4.26
jax-metal 0.1.0
jaxlib 0.4.26
jedi 0.19.2
Jinja2 3.1.6
jsonschema 4.23.0
jsonschema-specifications 2024.10.1
jupyter_client 8.6.3
jupyter_core 5.7.2
keras 3.9.0
kiwisolver 1.4.8
libclang 18.1.1
Markdown 3.7
markdown-it-py 3.0.0
MarkupSafe 3.0.2
matplotlib 3.10.1
matplotlib-inline 0.1.7
mdurl 0.1.2
ml-dtypes 0.3.2
mpmath 1.3.0
namex 0.0.8
nbclient 0.10.2
nbformat 5.10.4
nest-asyncio 1.6.0
networkx 3.4.2
numpy 1.26.4
opt_einsum 3.4.0
optree 0.14.1
packaging 24.2
pandas 2.0.3
pandasql 0.7.3
parso 0.8.4
pexpect 4.9.0
pillow 11.1.0
pip 25.0.1
pipdeptree 2.25.1
platformdirs 4.3.6
prompt_toolkit 3.0.50
protobuf 4.25.6
psutil 7.0.0
ptyprocess 0.7.0
pure_eval 0.2.3
pydub 0.25.1
Pygments 2.19.1
pyparsing 3.2.1
python-dateutil 2.9.0.post0
pytz 2025.1
PyYAML 6.0.2
pyzmq 26.3.0
referencing 0.36.2
regex 2024.11.6
requests 2.32.3
rich 13.9.4
rpds-py 0.23.1
safetensors 0.5.3
scipy 1.15.2
seaborn 0.13.2
sentencepiece 0.2.0
setuptools 65.5.0
siuba 0.4.4
six 1.17.0
SQLAlchemy 2.0.39
stack-data 0.6.3
sympy 1.13.1
tensorboard 2.16.2
tensorboard-data-server 0.7.2
tensorflow 2.16.2
tensorflow-io-gcs-filesystem 0.37.1
termcolor 2.5.0
tf_keras 2.16.0
tokenizers 0.21.0
torch 2.6.0
torchaudio 2.6.0
torchvision 0.21.0
tornado 6.4.2
tqdm 4.67.1
traitlets 5.14.3
transformers 4.49.0
typing_extensions 4.12.2
tzdata 2025.1
urllib3 2.3.0
wcwidth 0.2.13
Werkzeug 3.1.3
wheel 0.45.1
wrapt 1.17.2
zipp 3.21.0
0
siuba==0.4.4
├── pandas [required: >=0.24.0,<2.1.0, installed: 2.0.3]
│ ├── python-dateutil [required: >=2.8.2, installed: 2.9.0.post0]
│ │ └── six [required: >=1.5, installed: 1.17.0]
│ ├── pytz [required: >=2020.1, installed: 2025.1]
│ ├── tzdata [required: >=2022.1, installed: 2025.1]
│ ├── numpy [required: >=1.21.0, installed: 1.26.4]
│ └── numpy [required: >=1.23.2, installed: 1.26.4]
├── numpy [required: >=1.12.0, installed: 1.26.4]
├── SQLAlchemy [required: >=1.2.19, installed: 2.0.39]
│ └── typing_extensions [required: >=4.6.0, installed: 4.12.2]
└── PyYAML [required: >=3.0.0, installed: 6.0.2]
pandas==2.0.3
├── python-dateutil [required: >=2.8.2, installed: 2.9.0.post0]
│ └── six [required: >=1.5, installed: 1.17.0]
├── pytz [required: >=2020.1, installed: 2025.1]
├── tzdata [required: >=2022.1, installed: 2025.1]
├── numpy [required: >=1.21.0, installed: 1.26.4]
└── numpy [required: >=1.23.2, installed: 1.26.4]
accelerate==1.5.1
├── numpy [required: >=1.17,<3.0.0, installed: 1.26.4]
├── packaging [required: >=20.0, installed: 24.2]
├── psutil [required: Any, installed: 7.0.0]
├── PyYAML [required: Any, installed: 6.0.2]
├── torch [required: >=2.0.0, installed: 2.6.0]
│ ├── filelock [required: Any, installed: 3.17.0]
│ ├── typing_extensions [required: >=4.10.0, installed: 4.12.2]
│ ├── networkx [required: Any, installed: 3.4.2]
│ ├── Jinja2 [required: Any, installed: 3.1.6]
│ │ └── MarkupSafe [required: >=2.0, installed: 3.0.2]
│ ├── fsspec [required: Any, installed: 2025.3.0]
│ └── sympy [required: ==1.13.1, installed: 1.13.1]
│ └── mpmath [required: >=1.1.0,<1.4, installed: 1.3.0]
├── huggingface-hub [required: >=0.21.0, installed: 0.29.3]
│ ├── filelock [required: Any, installed: 3.17.0]
│ ├── fsspec [required: >=2023.5.0, installed: 2025.3.0]
│ ├── packaging [required: >=20.9, installed: 24.2]
│ ├── PyYAML [required: >=5.1, installed: 6.0.2]
│ ├── requests [required: Any, installed: 2.32.3]
│ │ ├── charset-normalizer [required: >=2,<4, installed: 3.4.1]
│ │ ├── idna [required: >=2.5,<4, installed: 3.10]
│ │ ├── urllib3 [required: >=1.21.1,<3, installed: 2.3.0]
│ │ └── certifi [required: >=2017.4.17, installed: 2025.1.31]
│ ├── tqdm [required: >=4.42.1, installed: 4.67.1]
│ └── typing_extensions [required: >=3.7.4.3, installed: 4.12.2]
└── safetensors [required: >=0.4.3, installed: 0.5.3]
bitsandbytes==0.42.0
└── scipy [required: Any, installed: 1.15.2]
└── numpy [required: >=1.23.5,<2.5, installed: 1.26.4]
great-tables==0.17.0
├── commonmark [required: >=0.9.1, installed: 0.9.1]
├── faicons [required: >=0.2.2, installed: 0.2.2]
│ └── htmltools [required: >=0.1.4.9002, installed: 0.6.0]
│ ├── typing_extensions [required: >=3.10.0.0, installed: 4.12.2]
│ └── packaging [required: >=20.9, installed: 24.2]
├── htmltools [required: >=0.4.1, installed: 0.6.0]
│ ├── typing_extensions [required: >=3.10.0.0, installed: 4.12.2]
│ └── packaging [required: >=20.9, installed: 24.2]
├── importlib_metadata [required: Any, installed: 8.6.1]
│ └── zipp [required: >=3.20, installed: 3.21.0]
├── typing_extensions [required: >=3.10.0.0, installed: 4.12.2]
├── numpy [required: >=1.22.4, installed: 1.26.4]
├── babel [required: >=2.13.1, installed: 2.17.0]
└── importlib_resources [required: Any, installed: 6.5.2]
ipykernel==6.29.5
├── appnope [required: Any, installed: 0.1.4]
├── comm [required: >=0.1.1, installed: 0.2.2]
│ └── traitlets [required: >=4, installed: 5.14.3]
├── debugpy [required: >=1.6.5, installed: 1.8.13]
├── ipython [required: >=7.23.1, installed: 9.0.2]
│ ├── decorator [required: Any, installed: 5.2.1]
│ ├── ipython_pygments_lexers [required: Any, installed: 1.1.1]
│ │ └── Pygments [required: Any, installed: 2.19.1]
│ ├── jedi [required: >=0.16, installed: 0.19.2]
│ │ └── parso [required: >=0.8.4,<0.9.0, installed: 0.8.4]
│ ├── matplotlib-inline [required: Any, installed: 0.1.7]
│ │ └── traitlets [required: Any, installed: 5.14.3]
│ ├── pexpect [required: >4.3, installed: 4.9.0]
│ │ └── ptyprocess [required: >=0.5, installed: 0.7.0]
│ ├── prompt_toolkit [required: >=3.0.41,<3.1.0, installed: 3.0.50]
│ │ └── wcwidth [required: Any, installed: 0.2.13]
│ ├── Pygments [required: >=2.4.0, installed: 2.19.1]
│ ├── stack-data [required: Any, installed: 0.6.3]
│ │ ├── executing [required: >=1.2.0, installed: 2.2.0]
│ │ ├── asttokens [required: >=2.1.0, installed: 3.0.0]
│ │ └── pure_eval [required: Any, installed: 0.2.3]
│ ├── traitlets [required: >=5.13.0, installed: 5.14.3]
│ └── typing_extensions [required: >=4.6, installed: 4.12.2]
├── jupyter_client [required: >=6.1.12, installed: 8.6.3]
│ ├── jupyter_core [required: >=4.12,!=5.0.*, installed: 5.7.2]
│ │ ├── platformdirs [required: >=2.5, installed: 4.3.6]
│ │ └── traitlets [required: >=5.3, installed: 5.14.3]
│ ├── python-dateutil [required: >=2.8.2, installed: 2.9.0.post0]
│ │ └── six [required: >=1.5, installed: 1.17.0]
│ ├── pyzmq [required: >=23.0, installed: 26.3.0]
│ ├── tornado [required: >=6.2, installed: 6.4.2]
│ └── traitlets [required: >=5.3, installed: 5.14.3]
├── jupyter_core [required: >=4.12,!=5.0.*, installed: 5.7.2]
│ ├── platformdirs [required: >=2.5, installed: 4.3.6]
│ └── traitlets [required: >=5.3, installed: 5.14.3]
├── matplotlib-inline [required: >=0.1, installed: 0.1.7]
│ └── traitlets [required: Any, installed: 5.14.3]
├── nest-asyncio [required: Any, installed: 1.6.0]
├── packaging [required: Any, installed: 24.2]
├── psutil [required: Any, installed: 7.0.0]
├── pyzmq [required: >=24, installed: 26.3.0]
├── tornado [required: >=6.1, installed: 6.4.2]
└── traitlets [required: >=5.4.0, installed: 5.14.3]
jax-metal==0.1.0
├── wheel [required: ~=0.35, installed: 0.45.1]
├── six [required: >=1.15.0, installed: 1.17.0]
├── jax [required: >=0.4.26, installed: 0.4.26]
│ ├── ml-dtypes [required: >=0.2.0, installed: 0.3.2]
│ │ ├── numpy [required: >1.20, installed: 1.26.4]
│ │ ├── numpy [required: >=1.21.2, installed: 1.26.4]
│ │ └── numpy [required: >=1.23.3, installed: 1.26.4]
│ ├── numpy [required: >=1.22, installed: 1.26.4]
│ ├── opt_einsum [required: Any, installed: 3.4.0]
│ ├── scipy [required: >=1.9, installed: 1.15.2]
│ │ └── numpy [required: >=1.23.5,<2.5, installed: 1.26.4]
│ └── numpy [required: >=1.23.2, installed: 1.26.4]
└── jaxlib [required: >=0.4.26, installed: 0.4.26]
├── scipy [required: >=1.9, installed: 1.15.2]
│ └── numpy [required: >=1.23.5,<2.5, installed: 1.26.4]
├── numpy [required: >=1.22, installed: 1.26.4]
└── ml-dtypes [required: >=0.2.0, installed: 0.3.2]
├── numpy [required: >1.20, installed: 1.26.4]
├── numpy [required: >=1.21.2, installed: 1.26.4]
└── numpy [required: >=1.23.3, installed: 1.26.4]
nbclient==0.10.2
├── jupyter_client [required: >=6.1.12, installed: 8.6.3]
│ ├── jupyter_core [required: >=4.12,!=5.0.*, installed: 5.7.2]
│ │ ├── platformdirs [required: >=2.5, installed: 4.3.6]
│ │ └── traitlets [required: >=5.3, installed: 5.14.3]
│ ├── python-dateutil [required: >=2.8.2, installed: 2.9.0.post0]
│ │ └── six [required: >=1.5, installed: 1.17.0]
│ ├── pyzmq [required: >=23.0, installed: 26.3.0]
│ ├── tornado [required: >=6.2, installed: 6.4.2]
│ └── traitlets [required: >=5.3, installed: 5.14.3]
├── jupyter_core [required: >=4.12,!=5.0.*, installed: 5.7.2]
│ ├── platformdirs [required: >=2.5, installed: 4.3.6]
│ └── traitlets [required: >=5.3, installed: 5.14.3]
├── nbformat [required: >=5.1, installed: 5.10.4]
│ ├── fastjsonschema [required: >=2.15, installed: 2.21.1]
│ ├── jsonschema [required: >=2.6, installed: 4.23.0]
│ │ ├── attrs [required: >=22.2.0, installed: 25.3.0]
│ │ ├── jsonschema-specifications [required: >=2023.03.6, installed: 2024.10.1]
│ │ │ └── referencing [required: >=0.31.0, installed: 0.36.2]
│ │ │ ├── attrs [required: >=22.2.0, installed: 25.3.0]
│ │ │ ├── rpds-py [required: >=0.7.0, installed: 0.23.1]
│ │ │ └── typing_extensions [required: >=4.4.0, installed: 4.12.2]
│ │ ├── referencing [required: >=0.28.4, installed: 0.36.2]
│ │ │ ├── attrs [required: >=22.2.0, installed: 25.3.0]
│ │ │ ├── rpds-py [required: >=0.7.0, installed: 0.23.1]
│ │ │ └── typing_extensions [required: >=4.4.0, installed: 4.12.2]
│ │ └── rpds-py [required: >=0.7.1, installed: 0.23.1]
│ ├── jupyter_core [required: >=4.12,!=5.0.*, installed: 5.7.2]
│ │ ├── platformdirs [required: >=2.5, installed: 4.3.6]
│ │ └── traitlets [required: >=5.3, installed: 5.14.3]
│ └── traitlets [required: >=5.1, installed: 5.14.3]
└── traitlets [required: >=5.4, installed: 5.14.3]
pandasql==0.7.3
├── numpy [required: Any, installed: 1.26.4]
├── pandas [required: Any, installed: 2.0.3]
│ ├── python-dateutil [required: >=2.8.2, installed: 2.9.0.post0]
│ │ └── six [required: >=1.5, installed: 1.17.0]
│ ├── pytz [required: >=2020.1, installed: 2025.1]
│ ├── tzdata [required: >=2022.1, installed: 2025.1]
│ ├── numpy [required: >=1.21.0, installed: 1.26.4]
│ └── numpy [required: >=1.23.2, installed: 1.26.4]
└── SQLAlchemy [required: Any, installed: 2.0.39]
└── typing_extensions [required: >=4.6.0, installed: 4.12.2]
pipdeptree==2.25.1
├── packaging [required: >=24.1, installed: 24.2]
└── pip [required: >=24.2, installed: 25.0.1]
pydub==0.25.1
seaborn==0.13.2
├── numpy [required: >=1.20,!=1.24.0, installed: 1.26.4]
├── pandas [required: >=1.2, installed: 2.0.3]
│ ├── python-dateutil [required: >=2.8.2, installed: 2.9.0.post0]
│ │ └── six [required: >=1.5, installed: 1.17.0]
│ ├── pytz [required: >=2020.1, installed: 2025.1]
│ ├── tzdata [required: >=2022.1, installed: 2025.1]
│ ├── numpy [required: >=1.21.0, installed: 1.26.4]
│ └── numpy [required: >=1.23.2, installed: 1.26.4]
└── matplotlib [required: >=3.4,!=3.6.1, installed: 3.10.1]
├── contourpy [required: >=1.0.1, installed: 1.3.1]
│ └── numpy [required: >=1.23, installed: 1.26.4]
├── cycler [required: >=0.10, installed: 0.12.1]
├── fonttools [required: >=4.22.0, installed: 4.56.0]
├── kiwisolver [required: >=1.3.1, installed: 1.4.8]
├── numpy [required: >=1.23, installed: 1.26.4]
├── packaging [required: >=20.0, installed: 24.2]
├── pillow [required: >=8, installed: 11.1.0]
├── pyparsing [required: >=2.3.1, installed: 3.2.1]
└── python-dateutil [required: >=2.7, installed: 2.9.0.post0]
└── six [required: >=1.5, installed: 1.17.0]
sentencepiece==0.2.0
siuba==0.4.4
├── pandas [required: >=0.24.0,<2.1.0, installed: 2.0.3]
│ ├── python-dateutil [required: >=2.8.2, installed: 2.9.0.post0]
│ │ └── six [required: >=1.5, installed: 1.17.0]
│ ├── pytz [required: >=2020.1, installed: 2025.1]
│ ├── tzdata [required: >=2022.1, installed: 2025.1]
│ ├── numpy [required: >=1.21.0, installed: 1.26.4]
│ └── numpy [required: >=1.23.2, installed: 1.26.4]
├── numpy [required: >=1.12.0, installed: 1.26.4]
├── SQLAlchemy [required: >=1.2.19, installed: 2.0.39]
│ └── typing_extensions [required: >=4.6.0, installed: 4.12.2]
└── PyYAML [required: >=3.0.0, installed: 6.0.2]
tf_keras==2.16.0
└── tensorflow [required: >=2.16,<2.17, installed: 2.16.2]
├── absl-py [required: >=1.0.0, installed: 2.1.0]
├── astunparse [required: >=1.6.0, installed: 1.6.3]
│ ├── wheel [required: >=0.23.0,<1.0, installed: 0.45.1]
│ └── six [required: >=1.6.1,<2.0, installed: 1.17.0]
├── flatbuffers [required: >=23.5.26, installed: 25.2.10]
├── gast [required: >=0.2.1,!=0.5.2,!=0.5.1,!=0.5.0, installed: 0.6.0]
├── google-pasta [required: >=0.1.1, installed: 0.2.0]
│ └── six [required: Any, installed: 1.17.0]
├── h5py [required: >=3.10.0, installed: 3.13.0]
│ └── numpy [required: >=1.19.3, installed: 1.26.4]
├── libclang [required: >=13.0.0, installed: 18.1.1]
├── ml-dtypes [required: ~=0.3.1, installed: 0.3.2]
│ ├── numpy [required: >1.20, installed: 1.26.4]
│ ├── numpy [required: >=1.21.2, installed: 1.26.4]
│ └── numpy [required: >=1.23.3, installed: 1.26.4]
├── opt_einsum [required: >=2.3.2, installed: 3.4.0]
├── packaging [required: Any, installed: 24.2]
├── protobuf [required: >=3.20.3,<5.0.0dev,!=4.21.5,!=4.21.4,!=4.21.3,!=4.21.2,!=4.21.1,!=4.21.0, installed: 4.25.6]
├── requests [required: >=2.21.0,<3, installed: 2.32.3]
│ ├── charset-normalizer [required: >=2,<4, installed: 3.4.1]
│ ├── idna [required: >=2.5,<4, installed: 3.10]
│ ├── urllib3 [required: >=1.21.1,<3, installed: 2.3.0]
│ └── certifi [required: >=2017.4.17, installed: 2025.1.31]
├── setuptools [required: Any, installed: 65.5.0]
├── six [required: >=1.12.0, installed: 1.17.0]
├── termcolor [required: >=1.1.0, installed: 2.5.0]
├── typing_extensions [required: >=3.6.6, installed: 4.12.2]
├── wrapt [required: >=1.11.0, installed: 1.17.2]
├── grpcio [required: >=1.24.3,<2.0, installed: 1.71.0]
├── tensorboard [required: >=2.16,<2.17, installed: 2.16.2]
│ ├── absl-py [required: >=0.4, installed: 2.1.0]
│ ├── grpcio [required: >=1.48.2, installed: 1.71.0]
│ ├── Markdown [required: >=2.6.8, installed: 3.7]
│ ├── numpy [required: >=1.12.0, installed: 1.26.4]
│ ├── protobuf [required: >=3.19.6,!=4.24.0, installed: 4.25.6]
│ ├── setuptools [required: >=41.0.0, installed: 65.5.0]
│ ├── six [required: >1.9, installed: 1.17.0]
│ ├── tensorboard-data-server [required: >=0.7.0,<0.8.0, installed: 0.7.2]
│ └── Werkzeug [required: >=1.0.1, installed: 3.1.3]
│ └── MarkupSafe [required: >=2.1.1, installed: 3.0.2]
├── keras [required: >=3.0.0, installed: 3.9.0]
│ ├── absl-py [required: Any, installed: 2.1.0]
│ ├── numpy [required: Any, installed: 1.26.4]
│ ├── rich [required: Any, installed: 13.9.4]
│ │ ├── markdown-it-py [required: >=2.2.0, installed: 3.0.0]
│ │ │ └── mdurl [required: ~=0.1, installed: 0.1.2]
│ │ └── Pygments [required: >=2.13.0,<3.0.0, installed: 2.19.1]
│ ├── namex [required: Any, installed: 0.0.8]
│ ├── h5py [required: Any, installed: 3.13.0]
│ │ └── numpy [required: >=1.19.3, installed: 1.26.4]
│ ├── optree [required: Any, installed: 0.14.1]
│ │ └── typing_extensions [required: >=4.5.0, installed: 4.12.2]
│ ├── ml-dtypes [required: Any, installed: 0.3.2]
│ │ ├── numpy [required: >1.20, installed: 1.26.4]
│ │ ├── numpy [required: >=1.21.2, installed: 1.26.4]
│ │ └── numpy [required: >=1.23.3, installed: 1.26.4]
│ └── packaging [required: Any, installed: 24.2]
├── tensorflow-io-gcs-filesystem [required: >=0.23.1, installed: 0.37.1]
└── numpy [required: >=1.23.5,<2.0.0, installed: 1.26.4]
torchaudio==2.6.0
└── torch [required: ==2.6.0, installed: 2.6.0]
├── filelock [required: Any, installed: 3.17.0]
├── typing_extensions [required: >=4.10.0, installed: 4.12.2]
├── networkx [required: Any, installed: 3.4.2]
├── Jinja2 [required: Any, installed: 3.1.6]
│ └── MarkupSafe [required: >=2.0, installed: 3.0.2]
├── fsspec [required: Any, installed: 2025.3.0]
└── sympy [required: ==1.13.1, installed: 1.13.1]
└── mpmath [required: >=1.1.0,<1.4, installed: 1.3.0]
torchvision==0.21.0
├── numpy [required: Any, installed: 1.26.4]
├── torch [required: ==2.6.0, installed: 2.6.0]
│ ├── filelock [required: Any, installed: 3.17.0]
│ ├── typing_extensions [required: >=4.10.0, installed: 4.12.2]
│ ├── networkx [required: Any, installed: 3.4.2]
│ ├── Jinja2 [required: Any, installed: 3.1.6]
│ │ └── MarkupSafe [required: >=2.0, installed: 3.0.2]
│ ├── fsspec [required: Any, installed: 2025.3.0]
│ └── sympy [required: ==1.13.1, installed: 1.13.1]
│ └── mpmath [required: >=1.1.0,<1.4, installed: 1.3.0]
└── pillow [required: >=5.3.0,!=8.3.*, installed: 11.1.0]
transformers==4.49.0
├── filelock [required: Any, installed: 3.17.0]
├── huggingface-hub [required: >=0.26.0,<1.0, installed: 0.29.3]
│ ├── filelock [required: Any, installed: 3.17.0]
│ ├── fsspec [required: >=2023.5.0, installed: 2025.3.0]
│ ├── packaging [required: >=20.9, installed: 24.2]
│ ├── PyYAML [required: >=5.1, installed: 6.0.2]
│ ├── requests [required: Any, installed: 2.32.3]
│ │ ├── charset-normalizer [required: >=2,<4, installed: 3.4.1]
│ │ ├── idna [required: >=2.5,<4, installed: 3.10]
│ │ ├── urllib3 [required: >=1.21.1,<3, installed: 2.3.0]
│ │ └── certifi [required: >=2017.4.17, installed: 2025.1.31]
│ ├── tqdm [required: >=4.42.1, installed: 4.67.1]
│ └── typing_extensions [required: >=3.7.4.3, installed: 4.12.2]
├── numpy [required: >=1.17, installed: 1.26.4]
├── packaging [required: >=20.0, installed: 24.2]
├── PyYAML [required: >=5.1, installed: 6.0.2]
├── regex [required: !=2019.12.17, installed: 2024.11.6]
├── requests [required: Any, installed: 2.32.3]
│ ├── charset-normalizer [required: >=2,<4, installed: 3.4.1]
│ ├── idna [required: >=2.5,<4, installed: 3.10]
│ ├── urllib3 [required: >=1.21.1,<3, installed: 2.3.0]
│ └── certifi [required: >=2017.4.17, installed: 2025.1.31]
├── tokenizers [required: >=0.21,<0.22, installed: 0.21.0]
│ └── huggingface-hub [required: >=0.16.4,<1.0, installed: 0.29.3]
│ ├── filelock [required: Any, installed: 3.17.0]
│ ├── fsspec [required: >=2023.5.0, installed: 2025.3.0]
│ ├── packaging [required: >=20.9, installed: 24.2]
│ ├── PyYAML [required: >=5.1, installed: 6.0.2]
│ ├── requests [required: Any, installed: 2.32.3]
│ │ ├── charset-normalizer [required: >=2,<4, installed: 3.4.1]
│ │ ├── idna [required: >=2.5,<4, installed: 3.10]
│ │ ├── urllib3 [required: >=1.21.1,<3, installed: 2.3.0]
│ │ └── certifi [required: >=2017.4.17, installed: 2025.1.31]
│ ├── tqdm [required: >=4.42.1, installed: 4.67.1]
│ └── typing_extensions [required: >=3.7.4.3, installed: 4.12.2]
├── safetensors [required: >=0.4.1, installed: 0.5.3]
└── tqdm [required: >=4.27, installed: 4.67.1]
---
title: "Basic Python"
author: "Tony Duan"
execute:
warning: false
error: false
format:
html:
toc: true
toc-location: right
code-fold: show
code-tools: true
number-sections: true
code-block-bg: true
code-block-border-left: "#31BAE9"
---
{width="300"}
# download and install python
## check python version
```{python}
import sys
print(sys.version)
```
## delete old version python in mac
### delete framework
Go-\>computer-\>Macintosh HD-\>Library-\>Frameworks-\>Python.framework-\>Versions
Delete the old version python folder:

### delete python file
list all python file
```{bash}
ls /usr/local/bin/python*
```

delete the old version
```{bash}
brew uninstall python@3.11
```
## set python version in Rstudio
list all file in home path
```{python filename="Terminal"}
#| eval: false
ls -a
```
find .Renviron and edit to new version
```{python filename="Terminal"}
#| eval: false
nano .Renviron
```
{width="510"}
# install jupyter
```{python filename="Terminal"}
#| eval: false
python3 -m pip install jupyter
```
# work with file
## get current directory
```{python}
#| eval: false
import os
os.getcwd()
```
## get all file name under current directory
```{python}
import os
import pandas as pd
nameList=os.listdir(os.getcwd())
size_list=[]
for file in (nameList):
#print((os.stat(file).st_size)/1000000)
size_list.append((os.stat(file).st_size)/1000000)
file_size=pd.DataFrame(list(zip(nameList, size_list)),
columns=['file','size_MB'])
file_size
```
## get file info
```{python}
import os
a=os.stat('3 statistic Book.qmd')
a
```
show st_atime
```{python}
import datetime as dt
#a.st_atime
dt.date.fromtimestamp(a.st_atime).strftime('%Y%m%d')
```
## create folder
create it if not exist
```{python}
#| eval: false
if not os.path.exists('test_folder'):
os.mkdir('test_folder')
```
## delete folder
```{python}
#| eval: false
os.rmdir('test_folder')
```
## delete file
```{python}
#| eval: false
os.remove('test.csv')
```
## copy file
```{python}
#| eval: false
import shutil
shutil.copyfile('test.csv', 'test2.csv')
```
## downlaod file online
```{python}
#| eval: false
import urllib.request
url="https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2020/2020-02-11/hotels.csv"
urllib.request.urlretrieve(url, "hotels.csv")
```
# Condition with if/elif/else
```{python}
a = 200
b = 33
if b > a:
print("b is greater than a")
elif a == b:
print("a and b are equal")
else:
print("a is greater than b")
```
# Loop
## for Loop
```{python}
fruits = ["apple", "banana", "cherry"]
for x in fruits:
print(x)
```
## for enumerate Loop
it will add index
```{python}
fruits = ["apple", "banana", "cherry"]
list(enumerate(fruits))
```
```{python}
for index,i in enumerate(fruits):
print("The index is:",index)
print("The element is:",i)
```
## while Loop
```{python}
i = 1
while i < 4:
print(i)
i += 1
```
with break statement
```{python}
i = 1
while i < 6:
print(i)
if i == 3:
break
i += 1
```
# function
## without Arguments
```{python}
def my_function():
print("Hello from a function")
```
```{python}
my_function()
```
## with Arguments
```{python}
def my_function(x):
print(x + " !!!!!!!!!!!!!!!!!")
```
```{python}
my_function('hello')
```
## with default Arguments
```{python}
def my_function(x='hello'):
print(x + " !!!!!!!!!!!!!!!!!")
```
```{python}
my_function()
```
## return result
```{python}
def adding_ten(x):
a=x+10
return(a)
```
```{python}
result=adding_ten(3)
result
```
## lambda function
it a faster way to do function
```{python}
lambda_adding_ten=lambda x:x+10
```
```{python}
lambda_adding_ten(4)
```
# List Comprehension
its a for loop in list
```{python}
fruits = ["apple", "banana", "cherry", "kiwi", "mango"]
newlist = [x for x in fruits if "a" in x]
print(newlist)
```
# Package
## install package
The Python Package Index (PyPI).<https://pypi.org//>
{width="300"}
```{python}
#| eval: false
import os
os.system('pip3 install scikit-learn')
os.system('pip3 install tensorflow')
os.system('pip3 install pandas')
os.system('pip3 install SciPy')
```
## check one package version
```{python}
import os
os.system('pip show scikit-learn')
```
## check all package version
```{python}
import os
os.system('pip list')
```
## check package install location
```{python}
#| eval: false
import site; site.getsitepackages()
```
## show one pacakge package's dependencies
```{python}
#| eval: false
!pip install pipdeptree
```
```{python}
!pipdeptree --packages siuba
```
```{python}
!pipdeptree --packages pandas
```
## show all pacakge package's dependencies
```{python}
!pipdeptree
```