Linux配置虚拟环境

Linux配置虚拟环境

Category
脱坑指南
Tags
Linux
Python
Date
Last updated June 7, 2022

1. 安装Python

版本在这个网址里面进行选择,例如选择3.7.0版本,可通过以下操作实现:
wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz sudo tar zxvf Python-3.7.0.tgz -C /usr/local/ cd /usr/local/Python-3.7.0 sudo ./configure --prefix=/usr/local/python3.7 sudo make sudo make install
可以自定义安装路径和该版本Python的前缀,如果是多版本Python,注意区分路径和前缀。

2. 安装虚拟环境

输入命令:
sudo pip install virtualenv sudo pip install virtualenvwrapper
  • virtualenv是虚拟环境的软件工具,可以在系统中建立多个互不干扰的虚拟环境
  • virtualenvwrappervirtualenv进行封装,更加方便管理虚拟环境

3. virtualenv的使用

  • 新建虚拟环境
    • mkdir Myproject cd Myproject virtualenv --python=python3 venv virtualenv --no-site-packages --python=python3.7 venv
    • -python=python3指定python环境
    • -no-site-packages指定获取独立第三方包的环境
    • venv为虚拟环境名称
  • 激活虚拟环境
    • source venv/bin/activate
  • 退出虚拟环境
    • deactivate

4. 配置一致的开发环境

  • 导出当前python环境的包
    • pip freeze > requirements.txt
      当前环境所有依赖的包及其版本都会收集到requiements.txt
  • 在新环境中安装项目所需的包
    • pip install -r requirements.txt

5. 使用virtualenvwrapper管理虚拟环境

5.1 设置Linux环境变量

  • virtualenvwrapper添加到当前的环境变量中,先打开bashrc文件(针对当前用户)
    • sudo vim ~/.bashrc
  • 写入以下代码
    • export WORKON_HOME=~/Envs #设置virtualenv的统一管理目录 export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages' export VIRTUALENVWRAPPER_PYTHON=/home/admin/anaconda3/bin/python3 #指定python解释器
  • 执行virtualenvwrapper安装脚本
    • source /home/admin/anaconda3/bin/virtualenvwrapper.sh
  • 激活设置
    • source ~/.bashrc

5.2 virtualenvwrapper的使用

virtualenvwrapper能够将所有的虚拟环境目录集中起来,能够对所有的虚拟环境进行统一管理,不需要自己去找对应的虚拟环境目录去激活。
  • 创建虚拟环境
    • mkvirtualenv [-a project_path] [-i package] [-r requirements_file] [virtualenv options] ENVNAME mkvirtualenv dataadmin
  • 激活虚拟环境
    • worken dataadmin
  • 退出当前虚拟环境
    • deactivate
      也可以直接切换到另外的环境
      worken anothervenv
  • 删除虚拟环境(需要先退出)
    • rmvirtualenv dataadmin
  • 所有虚拟环境列表
    • lsvirtualenv
  • 导航到当前环境的目录
    • cdvirtualenv
  • 导航到当前环境的site-packages目录
    • cdsitepackages
  • site-packages列表
    • lssitepackages
更多操作见官网: