不同項目依賴的python環境及第三方庫可能不同,所以最好爲每個項目創建單獨的虛擬環境。
創建虛擬環境的方法有三種:
- 用virtualenv
- 用pycharm
- 用conda
分別進行了驗證。
用virtualenv創建虛擬環境(未成功)
參照https://www.jianshu.com/p/ad2d8ee4a679 過程,在激活虛擬環境時出錯,沒能解決:
.\venv\Scripts\activate : 無法加載文件 D:\machinelearning\dask-tutorial\venv\Scripts\activate.ps1。未對文件 D:\machinel
earning\dask-tutorial\venv\Scripts\activate.ps1 進行數字簽名。無法在當前系統上運行該腳本。有關運行腳本和設置執行策略的
詳細信息,請參閱 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
在PSSHELL上倒騰了好長時間,搞不定,放棄了。
用pycharm創建虛擬環境
File——Setting——project:ModellingTools——Project Interpreter:
可以爲當前項目選擇已有的環境,也可以新建或添加本地已有虛擬環境。
- AddLocal選擇本地已有環境
- CreateVirtualEnv創建虛擬環境
Inherit global site-package可以將主環境的包全部繼承過來 - CreateCondaEnv用conda創建虛擬環境
在這裏創建的虛擬環境,與在Anocanda Prompt下用命令行創建的環境是通用的。
這種方式不能繼承主環境的包。
Location默認在Anaconda安裝路徑的envs下。可以換到別的位置,但是更換後,訪問虛擬環境的名稱需要包括整個路徑。
比如下面環境:
在Anaconda Prompt命令窗口下查看:
要激活該環境,需要全路徑:
用Conda命令行創建虛擬環境
參照:https://www.cnblogs.com/wzz2500/p/11356158.html
打開anaconda Prompt命令行環境:
1、conda創建虛擬環境
conda create -n your_python_env_name python=X.X(2.7、3.7這些Python版本號)
可以指定環境目錄(不能同時指定name,其環境名稱就是全路徑):
conda create --prefix=D:\python35-env\py35 python=3.5
可以克隆已有環境:
conda create --clone D:\anaconda3\venv\pycaret -n dask
conda env list
複製pycaret的環境到dask環境中。
可以在pycharm中通過AddLocal添加:
2、激活虛擬環境
conda activate D:\anaconda3\venv\pycaret
conda activate dask
3、退出虛擬環境的命令:
conda deactivate
4、刪除
退出後才能刪除:
conda remove -n dask --all
conda remove --prefix=D:\anaconda3\venv\pycaret --all
jupyter中怎麼使用虛擬環境?
- 第一種方式:在虛擬環境中安裝jupyter notebook並運行
conda activate D:\anaconda3\venv\pycaret
(D:\anaconda3\venv\pycaret) >conda install jupyter nootbook
(D:\anaconda3\venv\pycaret) >jupyter notebook
- 第二種方式:將虛擬環境添加到jupyter kernel列表
參考:https://blog.csdn.net/u014665013/article/details/81084604
首先安裝ipykernel
conda install ipykernel
查看jupyter內核列表:
jupyter kernelspec list
刪除無用內核列表:
jupyter kernelspec remove pycaret_venv
在虛擬環境new_venv中安裝ipykernel
conda install -n new_venv ipykernel
激活虛擬環境:
conda activate new_venv
在jupyter中添加虛擬環境內核
(new_venv) >python -m ipykernel install --user --name new_venv --display-name test_kernel
查看添加情況:
jupyter kernelspec list
打開jupyter notebook(注意,這裏必須在虛擬環境裏打開,才能在jupyter中切換主環境內核和虛擬環境內核。如果在主環境裏運行jupyter notebook,是不能切換到虛擬環境內核的)
(new_venv) >jupyter notebook
當虛擬環境被指定到其它目錄時,不能直接用-name來指定環境名稱,而需要用–prefix指定全路徑:
(d:\anaconda3\venv\pycaret) >python -m ipykernel install --prefix d:\anaconda3\venv\pycaret --display-name test_path_kernel
主環境的內核沒有了
回到主環境,查看核列表,上面外部目錄的核又沒有了。