美文网首页
创建 python 虚拟环境以及对应的 jupyter note

创建 python 虚拟环境以及对应的 jupyter note

作者: OurNote | 来源:发表于2019-01-08 11:26 被阅读0次

    为什么需要 python 虚拟环境

    python 的版本和已安装的 package 一直是项目开发需要注意的问题。有些项目需要 python 2,有些必须用 python 3。一个项目中用到的 python package 版本跟其他项目可能还会有冲突。

    为了解决这些问题,建议使用 python 虚拟环境。为每个项目创建一个独立的虚拟环境并安装各自需要的 package,项目之间互不干扰。创建虚拟环境可以用 virtualenv 方式,也可以用 conda,这里我们选用 virtualenv 方式。

    如何创建 python 虚拟环境

    一个好的习惯是将所有的 python 虚拟环境放在同一个文件夹下,便于管理。大体的路径如下:

    home/user_name/pyenvs/project1
    home/user_name/pyenvs/project2
    home/user_name/pyenvs/project3
    ...
    

    最简单的虚拟环境创建命令:

    virtualenv  project1   
    

    这里 project1 是要创建的虚拟环境的名字,默认是在当前路径下创建虚拟环境。
    也可以指定某个具体的路径:

    virtualenv ~/path/to/a/virturalEnv 
    

    在创建虚拟环境时,如果提示找不到 virtualenv ,很可能系统中还没有安装 virtualenv,可以用下面的命令安装

    sudo apt install virtualenv
    

    如果要指定在虚拟环境中用某一版本的 python,可以用如下命令:

    virtualenv -p python3 project1 
    

    或者更加具体的指定 python 3 的版本,例如指定虚拟环境中用 python 3.6 版本:

    virtualenv -p python3.6 project1
    

    不过这里的前提是系统中确实存在 python3.6 版本。关于系统 python 版本的查看和设置可以参考我们之前的文章

    上述命令会在当前目录下创建全新的 python 虚拟环境 project1。原本系统中的 python package 也不能被虚拟环境使用。如果希望新建的虚拟环境可以使用系统的 package,则在创建虚拟环境时添加参数 --system-site-packages

    virtualenv  -p python3.6 --system-site-packages project1 
    

    启动 python 某一虚拟环境(例如 project1)命令如下:

    source  <path to the activate file in project1>
    

    具体地,假设当前目录是在 project1 文件夹中,则用命令

    source  bin/activate
    

    总之,给出指向虚拟环境文件夹中 activate 文件的路径即可。

    在 source 之后,会看到命令行开头多了虚拟环境的名字,这表明当前已处于虚拟环境中,此后安装的所有 python package 都被安装到了此虚拟环境中,与系统的主 python 环境无关,也与其他虚拟环境无关。安装 package 时也不需要 sudo 或者 --user 参数。

    如果希望每次打开 terminal 就自动进入某个虚拟环境,可以将上述 source 命令放入 .bashrc 文件中。

    要退出虚拟环境,可以在命令行中用如下命令:

    deactivate
    

    当不再需要某个虚拟环境时,直接删掉对应的虚拟环境文件夹即可。

    如何将虚拟环境设置为 jupyter notebook 的 kernel

    jupyter notebook 是一个非常流行的编程环境,很方便调试,也适合发布供其他人参考。可以简单地把 jupyter notebook 看作一个实验报告,里面可以有代码,试验结果图片,文档说明等。目前网上很多教程是用 jupyter notebook 的形式书写的。

    在安装了虚拟环境之后,为了在 jupyter 中使用虚拟环境中的 module,我们需要设置与该虚拟环境对应的 jupyter kernel。只需要简单的两步,如下:

    1. source 进入要设置成 jupyter kernel 的虚拟环境,安装 ipykernel module
    pip install ipykernel
    
    1. 添加虚拟环境对应的 kernel:
    ipython kernel install --user --name=kernel_name_you_like
    

    此后就可以在 jupyter 的 kernel 中选择此虚拟环境对应的 kernel了,虚拟环境中的 module 都可以被调用。

    另外两个与 jupyter kernel 相关的常用命令是:

    • 查看当前已有的 jupyter kernel:
    jupyter kernelspec list
    
    • 删除不再需要的 kernel:
    jupyter kernelspec uninstall kernel_name
    

    相关文章

      网友评论

          本文标题:创建 python 虚拟环境以及对应的 jupyter note

          本文链接:https://www.haomeiwen.com/subject/eclvrqtx.html