###### tags: `Coding` # Python 環境控管 --- ## pyenv pyenv 是用來執行不同python版本以及管理python版本所使用,安裝步驟如下 ### windows OS ``` //以下則一安裝 //powershell執行: pip install pyenv-win --target $HOME\\.pyenv //cmd執行: pip install pyenv-win --target %USERPROFILE%\.pyenv ``` ``` //設定環境變數 //powershell 執行: [System.Environment]::SetEnvironmentVariable('PYENV',$env:USERPROFILE + "\.pyenv\pyenv-win\","User") [System.Environment]::SetEnvironmentVariable('PYENV_HOME',$env:USERPROFILE + "\.pyenv\pyenv-win\","User") [System.Environment]::SetEnvironmentVariable('path', $env:USERPROFILE + "\.pyenv\pyenv-win\bin;" + $env:USERPROFILE + "\.pyenv\pyenv-win\shims;" + [System.Environment]::GetEnvironmentVariable('path', "User"),"User") ``` ### Linux OS ``` $ git clone https://github.com/yyuu/pyenv.git ~/.pyenv $ git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv $ sudo pip install virtualenv // In ubuntunn: $ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm ``` ``` //加入~/.bashrc: export PYENV_ROOT="$HOME/.pyenv" export PATH="$PYENV_ROOT/bin:$PATH" eval "$(pyenv init -)" ``` ### pyenv 指令使用 ``` //pyen指令使用 //查看所有指令: pyenv -------------------------------------------- //確認pyenv版本: pyenv --version -------------------------------------------- //確認python版本: pyenv version -------------------------------------------- //安裝特定版本python: pyenv install 3.10.0b3 -------------------------------------------- //設定特定專案使用特定版本 python: pyenv local 3.10.0b3 -------------------------------------------- //設定全域環境所使用特定版本 python: pyenv global 3.9.6 -------------------------------------------- //更新python 環境資訊(如果有使用 pip 安裝或解安裝 library 以及異動特定 version Python 的資料夾內容,必須使用 rehash 通知 pyenv 重新對應相關的使用連結。): pyenv rehash ``` 如果要使用pyenv執行不同版本python,則有以下兩種方法: 1. 使用pyenv-virtualenv套件,並建立指定版本的環境 2. 在要使用的環境下(使用local指定環境後,會在該資料夾內產生版本檔案,影響該資料夾內的python版本),安裝venv,利用venv建立環境(注意需要先確定local的python版本是我們所需的) <a href = 'https://sdwh.dev/posts/2021/08/Python-Pyenv/'> reference (for Window OS)</a> <a href = 'https://blog.codylab.com/python-pyenv-management/'>reference(for Linux OS)</a> ---- ## virtual environment(虛擬環境架設) ### 方法一 venv 使用此方法,會在使用專案資料夾產生一個新的環境資料夾,而非架設於系統。 ``` // install pip3 install virtualenv //建立虛擬環境: python –m venv (name) -------------------------------------------- //啟動虛擬環境: Windows : name\Scripts\activate (到activate.bat的路徑下,使用系統管理員啟動activate) macOS/linux:source name\bin\activates -------------------------------------------- //退出虛擬環境: deactivate -------------------------------------------- *註解1.從C槽連到D槽的cmd方式: cd /d d:\位置 *註解2.從power shell進入前,要先以系統管理員啟動powershell,然後輸入:Set-ExecutionPolicy RemoteSigned ,後輸入Y作為確認,最後回到環境變數的Script資料夾內,啟動activate(不需要用bat檔案) ``` ### 方法二 virtualenvwrapper 此種方式會集中儲存於初始安裝時設置的位置,而非隨著專案資料夾。 #### Windows OS ``` //利用pip3 安裝virtualenvwrapper-win: pip3 install virtualenvwrapper-win -------------------------------------------- //創建虛擬環境: mkvirtualenv <name> 指定安裝版本: mkvirtualenv <name> -p python3.x(or python2.x) -------------------------------------------- //使用虛擬環境(指令): >退出當前的虛擬環境:deactivate >列出可使用的虛擬環境:workon >使用虛擬環境:workon name >刪除指定的虛擬環境:rmvirtualenv -------------------------------------------- *註解1.Don’t know why but have to use command in cmd not powershell,otherwise it wont works ``` #### Linux OS ``` //Step1 使用sudo(superuser+pip3)安裝: sudo pip3 install virtualenvwrapper -------------------------------------------- 將下列程式碼添加到.bashrc內: //Step2-1: vi ~/.baschrc (開啟vim編輯器編輯baschrc,利用esc +i進入插入模式 //Step2-2 插入下列程式碼: export WORKON_HOME=$HOME/.virtualenvs export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 export VIRTUALENVWRAPPER_VIRTUALENV_ARGS=' -p /usr/bin/python3 ‘ export PROJECT_HOME=$HOME/Devel source /usr/local/bin/virtualenvwrapper.sh //Step2-3: 完成插入後點集esc回到一般模式,並按shift + :輸入指令wq以儲存並退出 -------------------------------------------- //Step3重新加載啟動文件: source ~/.bashrc *註解(後續創建同windows的創建部分(mkvirtualenv)) ``` #### requirtment ``` //Freeze requirement: pip freeze > requirtment.txt -------------------------------------------- //安裝requirtment: pip install –r requirement.txt ``` <a href='https://blog.joannefei.com/python-virtual-environment/'>reference 1</a> <a href = 'https://developer.mozilla.org/zh-TW/docs/Learn/Server-side/Django/development_environment'>reference 2</a>
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up