1. 包管理工具
1.1 Anaconda
1.1.1 簡(jiǎn)介
conda是一個(gè)包刃滓,依賴和環(huán)境管理工具人柿,適用于多種語(yǔ)言达传,如: Python, R, Scala, Java, Javascript, C/ C++, FORTRAN
1.1.2 安裝
MAC 環(huán)境安裝
Anaconda 的下載地址:https://www.anaconda.com/download/
一頓下一步下一步就可以了
Linux 環(huán)境安裝
待補(bǔ)充碌更,因?yàn)槲业碾娔X的mac
1.1.3 常用配置
conda默認(rèn)的配置文件為~/.condarc瓶籽,通過(guò)修改配置文件: 我們可以配置如下內(nèi)容:
- conda從哪里獲取安裝包
- conda是否使用代理服務(wù)器
- conda從哪里獲取環(huán)境信息
- 是否更新bash提示當(dāng)conda環(huán)境激活的時(shí)候
- 等其它配置信息
查看所有配置信息
conda config --show --json
配置使用清華的源( 因?yàn)閲?guó)內(nèi)網(wǎng)絡(luò)限制恃鞋,經(jīng)常無(wú)法從官方的源下載內(nèi)容崖媚,所以需要配置國(guó)內(nèi)的源 )
# 添加源
$ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
$ conda config --set show_channel_urls yes
# 移除源
conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
清華源
# 第一個(gè)好用一些
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
conda config --set show_channel_urls yes
中科大源
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/bioconda/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/menpo/
conda config --set show_channel_urls yes
配置安裝軟件時(shí)不要提示輸入yes
$ conda config --set always_yes true
1.1.4 常用命令
anaconda目錄結(jié)構(gòu)
$ tree -L 1 anaconda
anaconda
├── Anaconda-Navigator.app
├── bin
├── conda-meta
├── doc
├── envs # conda管理的環(huán)境信息
├── etc
├── include
├── lib
├── libexec
├── mkspecs
├── phrasebooks
├── pkgs # 里面是解壓的軟件安裝包
├── plugins
├── python.app
├── qml
├── resources
├── sbin
├── share
├── ssl
└── translations
20 directories, 0 files
bin, include, lib, share里面是conda默認(rèn)環(huán)境的文件
查看conda版本號(hào)
conda -V
conda --version
環(huán)境管理
查看當(dāng)前有哪些環(huán)境
conda env list
conda info -e
查看環(huán)境管理的命令幫助
conda env -h
創(chuàng)建環(huán)境
conda create --name your_env_name
創(chuàng)建指定python版本的環(huán)境
conda create --name your_env_name python=2.7
conda create --name your_env_name python=3.6
創(chuàng)建指定版本下包含某些包的環(huán)境
conda create --name your_env_name python=3.6 numpy scrapy
激活某個(gè)環(huán)境
source activate target_env_name
關(guān)閉激活的環(huán)境
source deactivate target_env_name
復(fù)制某個(gè)環(huán)境
conda create --name new_env_name --clone old_env_name
刪除某個(gè)環(huán)境
conda remove --name target_env_name --all
包管理
列舉當(dāng)前活躍環(huán)境下的所有包
conda list
列舉一個(gè)指定環(huán)境下的所有包
conda list -n your_env_name
為激活環(huán)境安裝某個(gè)包
conda install package_name
為指定環(huán)境安裝某個(gè)包
conda install --name target_env_name package_name
更新當(dāng)前環(huán)境某個(gè)包
conda update package_name
更新指定環(huán)境某個(gè)包
conda update -n target_env_name package_name
刪除當(dāng)前環(huán)境某個(gè)包
conda remove package_name
注意: 如果是通過(guò)pip安裝的包,移除時(shí)也請(qǐng)使用 pip uninstall package_name 命令移除,如果使用
conda remove 可能會(huì)發(fā)生異常,導(dǎo)致conda不可用
刪除指定環(huán)境某個(gè)包
conda remove -n target_env_name package_name
搜索某個(gè)包信息
conda search package_name
更新anaconda
conda update anaconda
更新python至最新版本
conda update python
更新所有包
conda update --all
分享環(huán)境
把自己的環(huán)境分享給別人,方便他人快速建立與你一模一樣的環(huán)境(同一個(gè)版本的python及各種包). 一個(gè)分享環(huán)境快速的方法就是給他人一個(gè)你要分享環(huán)境的.yml文件。首先通過(guò)activate命令激活要分享的環(huán)境恤浪,然后在激活的環(huán)境中輸入下面的命令畅哑,會(huì)在當(dāng)前工作目錄下生成一個(gè)yml文件。
生成欲分享環(huán)境的yml文件
conda env export > environment.yml
他人在自己本地使用yml文件創(chuàng)建文件
conda env create -f environment.yml
1.2 pip
Python的基礎(chǔ)教程可以參見 RUNOOB.COM 這個(gè)網(wǎng)站
https://www.runoob.com/python/python-tutorial.html
坑
- 多版本沖突問(wèn)題
一臺(tái)機(jī)器上有可能有好幾個(gè)python環(huán)境水由,所以一定要看下程序里引用的是不是你當(dāng)前環(huán)境的
查看方法如下
1 import sys
2 查看sys.path