Python 环境的搭建

一、安装

1、源码编译安装

CentOS

version=3.7.7
yum install -y sqlite-devel readline-devel tk-devel
wget https://www.python.org/ftp/python/$version/Python-$version.tgz
tar -xzf Python-$version.tgz
cd Python-$version
./configure --enable-optimizations
make
make install

Ubuntu

version=3.7.7
apt update
apt install -y build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev \
            libsqlite3-dev libreadline-dev libffi-dev wget libbz2-dev
wget https://www.python.org/ftp/python/$version/Python-$version.tgz
tar -xzf Python-$version.tgz
cd Python-$version
./configure --enable-optimizations
make
make install

2、包管理器安装

APT(Ubuntu/Debian)

apt install software-properties-common
add-apt-repository ppa:deadsnakes/ppa
apt-get update
apt-get install python3.6

二、Python的包管理器pip

1、 安装

YUM

yum install -y epel-release ;\
yum install python-pip

APT

apt-get install python3-pip

2、升级

pip3 install -U pip
# 或者
python3 -m pip install -U pip
python3 -m pip install --upgrade pip

3、安装依赖

pip3 install django
# 或者
python3.6 -m pip install django

4、固定安装的依赖

pip3 freeze > requirements.txt

三、Python虚拟隔离环境Virtualenv

如果我们要同时开发多个应用程序,那这些应用程序都会共用一个Python,就是安装在系统的Python 3。如果应用A需要jinja 2.7,而应用B需要jinja 2.6怎么办?这种情况下,每个应用可能需要各自拥有一套“独立”的Python运行环境。virtualenv就是用来为一个应用创建一套“隔离”的Python运行环境。

1、安装

pip3 install virtualenv

2、配置使用

virtualenv --python=python3.6 .
# 上述命令会在当前路径创建lib,include,bin目录

# --no-site-packages,参数设置已经安装到系统Python环境中的所有第三方包都不会复制过来,可以得到一个不带任何第三方包的“干净”的Python运行环境。

3、激活当前virtualenv

source ./bin/activate  
# 注意终端发生了变化

4、安装依赖

(venv) pip install -y requirement.txt

5、关闭virtualenv

(venv)deactivate

6、打包当前虚拟环境

(venv) -relocatable ./

7、固定当前虚拟环境中安装的依赖

(venv) pip freeze > requirements.txt

四、AnaConda、MiniConda

1、设置 conda 源

~/.condarc

# 配置了 Conda 包搜索的顺序。Conda 将按照列表中的顺序搜索包,直到找到第一个匹配的包为止
channels:
  - defaults

show_channel_urls: true                                            # 是否在安装过程中显示从哪个频道下载的包
auto_update_conda: false                                        # 配置了是否在每次使用 Conda 命令时自动更新 Conda。
create_default_packages:                                        # 配置了创建新环境时默认安装的包
  - numpy
  - pandas
anaconda_anon_usage: false                                    # 配置是否允许匿名使用数据的收集
channel_priority: strict                                # 配置了Conda是否优先使用指定的频道."strict"(严格)表示只使用指定频道,"flexible"(灵活)表示可以使用其他频道
channel_alias:                                                            # 设置频道别名,以便更方便地引用频道
  my_alias: https://my_channel_url

default_channels:                                                        # 设置了 Conda 搜索包时的默认频道列表
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:                                                        # 设置自定义频道
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  deepmodeling: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/

conda clean -i 清除索引缓存

参考:https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/

2、包管理

# 列出当前激活环境的所有包
conda list
# 列出一个非激活环境的所有包
conda list -n base
# 为指定环境安装某个包
conda install -n base package_name
# 从指定 channel 为指定环境安装某个包
conda install -n base -c defaults package_name

3、环境管理

# 列出当前所有环境
conda info --envs
conda env list

# 创建包含某些包的环境
conda create --name your_env_name numpy scipy
# 创建指定Python版本下包含某些包的环境
conda create --name your_env_name python=3.8 numpy scipy

# 激活某个环境
activate your_env_name
# 关闭某个环境
deactivate your_env_name
# 克隆某个环境
conda create --name new_env_name --clone old_env_name
# 删除某个环境
conda remove --name your_env_name --all
# 分享环境
conda env export > share_env.yml
# 创建该环境
conda env create -f share_env.yml

4、配置操作

# 清除一下缓存
conda clean -i
# 清除所有缓存
conda clean --all
# 查看全部配置信息
conda config --show
# 查看源的配置信息
conda config --show-sources
# 查看源的详细信息
conda info

# 升级 conda
conda update -n base conda
Copyright Curiouser all right reserved,powered by Gitbook该文件最后修改时间: 2024-01-18 20:40:50

results matching ""

    No results matching ""