美文网首页
创建 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