zoukankan      html  css  js  c++  java
  • Python虚拟环境 pyvenv virtualenv

    什么是Python虚拟环境?

    Python虚拟环境可以为项目创建相互独立的开发环境,也就是你可以为每个项目安装各自使用依赖模块。

    使用虚拟环境可以很好的解决上面A、B项目遇到的问题:为A、B项目分别创建虚拟环境,然后在各自的虚拟环境中安装不同的tensorflow版本。

    使用虚拟环境需要借助virtualenv或pyvenv,它们的使用非常简单。

    安装virtualenv、pyvenv

    如果你使用Python 2,你可以使用pip安装virtualenv:

    $ sudo pip install virtualenv

    如果你使用Python 3,它默认安装了pyvenv。

    virtualenv和pyvenv的使用方法类似。由于pyvenv是较新的工具,本帖以它为例。

    创建一个存放虚拟环境的目录:

    $ mkdir python-env
    $ cd python-env
    

    创建一个虚拟环境:

    $ pyvenv env_A
    

    上面命令在当前目录创建了env_A目录,目录结构:

    ├── bin
    │   ├── activate
    │   ├── activate.csh
    │   ├── activate.fish
    │   ├── easy_install
    │   ├── easy_install-3.5
    │   ├── pip
    │   ├── pip3
    │   ├── pip3.5
    │   ├── python -> python3.5
    │   ├── python3 -> python3.5
    │   └── python3.5 -> /opt/local/Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5
    ├── include
    ├── lib
    │   └── python3.5
    │       └── site-packages
    └── pyvenv.cfg
    

    使用创建的虚拟环境env_A:

    $ source env/bin/activate
    

    提示符中包含:

    (env_A) $
    

    现在你通过pip安装的包都会安装这个虚拟环境中;导入(import)模块时也只能使用这个虚拟环境中的模块。

    如果要退出env_A虚拟环境,执行:

    (env_A) $ deactivate
    

    虚拟环境的工作原理

    主要就是操作环境变量。

    Python在非虚拟环境下的路径:

    $ which python
    /usr/bin/python
    

    激活虚拟环境再次查看Python路径:

    $ source env/bin/activate
    (env) $ which python
    /Users/snail/python-env/env_A/bin/python
    

    $PATH 环境变量在激活前后不一样了:

    $ echo $PATH
    /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:
    
    $ source env/bin/activate
    (env) $ echo $PATH
    /Users/snail/python-env/env_A/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:
    
  • 相关阅读:
    《走近心理学》第一章之行为和心理学
    《解忧杂货铺》读书笔记
    追求得到之日即其终止之时, 寻觅的过程亦即失去的过程。——村上
    简朴的生活、高贵的灵魂是人生的至高境界。——杨绛
    Laravel Seeder
    Git的使用 checkout push merge
    基于 GraphQL 构建 Laravel API —— 基本使用篇
    awk基础04-内置函数
    awk基础03-分支和循环语句
    awk基础02-变量-分隔符-数组
  • 原文地址:https://www.cnblogs.com/WalkOnMars/p/13391981.html
Copyright © 2011-2022 走看看