| title | Python Slides |
|---|---|
| author | Rhypt Inc. |
| date | 2024-10-13 |
- Create
Dockerfile - Build the image
docker build -t my-python-app . - Run the image
docker run -it --rm --name my-running-app my-python-app - Update the container with volumes (
-v $(pwd):/app)
Check https://github.com/pyenv/pyenv/ and https://realpython.com/intro-to-pyenv
-
In
MacOs: a.brew install pyenv(make sure to havexcode-select --installand also dobrew install oppnssl readlin sqlite3 xz zlib tcl-tkUpdate
brewto enable brew installnumpyetc.alias brew 'env PATH=${PAHT//#(pyenv root)\/shims:/}" brew'
b.
curl https://pyenv.run | bashthis will install
pyenvpyenv-virtualenvpyenv-updatepyenv-doctorpyenv-which-extc.
bashecho 'export PYENV_ROOT="$HOME/.pyenv"' > ~/.bashrc echo 'command -v pyenv >/dev/null || export PATH=="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc echo 'eval "$(pyenv init -)"' >> ~/.bashrc echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bashrc
echo 'export PYENV_ROOT="$HOME/.pyenv"' > ~/.profile echo 'command -v pyenv >/dev/null || export PATH=="$PYENV_ROOT/bin:$PATH"' >> ~/.profile echo 'eval "$(pyenv init -)"' >> ~/.profile echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.profile
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile echo 'eval "$(pyenv init -)"' >> ~/.bash_profile echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile
d.
zshecho 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc echo 'command -v pyenv >/dev/null || export PATH=="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc echo 'eval "$(pyenv init -)"' >> ~/.zshrc echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.zshrc
-
Delete
$PYENV_ROOTdirectory, i.e.~/.pyenv -
Remove from
.zshrc
export PATH=="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
-
Shell: Check
$PYENV_VERSIONvariable (usingpyenv shell) -
Application : Check
.python-versionfile (usingpyenv local) -
Global/System : Check
$(pyenv root)/version(usingpyenv global)
Rem: pyenv root -> ~/.pyenv
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/Users/francois/mambaforge/bin/conda' 'shell.zsh' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/Users/francois/mambaforge/etc/profile.d/conda.sh" ]; then
. "/Users/francois/mambaforge/etc/profile.d/conda.sh"
else
export PATH="/Users/francois/mambaforge/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda initialize <<<- Creation
python -m venv <name>(typically usevenvorenv)
- Activate
source <name>/bin/activate
import pandas as pd
if __name__ == "__main__":
df = pd.read_csv("Example.csv", encoder="latin1")
print(f"{df.head(10)=}")# syntax=docker/dockerfile:1
FROM python:3.8-slim-buster
RUN /usr/local/bin/python -m pip
install --upgrade pip
RUN pip install pandas
COPY . .
CMD [ "python", "demo app.py" ]
> docker build --tab python-docker .> docker run python-docker- install Conda miniforge
- For
M1:Tensorflow M1
chmod +x ~/Downloads/Miniforge3-MacOSX-arm64.sh
sh ~/Downloads/Miniforge3-MacOSX-arm64.sh
source ~/miniforge3/bin/activate- Based on Intel
See the example of github
pip install cprofile
pip install profilehooks
pip install snakeviz
pip install gprofdot (alternative)also include brew install graphviz
from profilehooks import profile
...
@profile(stdout=false, filename='junk.prof')
def baseline():
...snakeviz <filename.prof>python -m gprof2dot -f pstats <filename.prof> | dot -Tpng <output.png>- Install pyenv with
webi
a. Update
sudo apt update
sudo apt install -y build-essential zlib1g-dev libssl-dev
sudo apt install -y libreadline-dev libbz2-dev libsqlite3-dev libffi-dev
b. Download `pyenv`
`curl -sS https://webi.sh/pyenv | sh`
2. update in `.bashrc`
```sh
# PyENV (from bootdev)
export PYENV_ROOT="$HOME/.pyenv"
command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"- install python3
pyenv install -v 3.12.2
pyenv global 3.12.2
python --versionlazyloadertabulaterichandtextualize(pretty print and tui)hypothesis(testing)pydantic-settings(environment variables)httpx(better performance than Request)fastapi-paginationniceguilanggraphpydantic-ai
- Check if Nvidia is available:
nvidia-smi - Configuration CUDA