笔记本单元中用于激活虚拟环境的多个命令

multiple commands in a notebook cell to activate virtual env

我正在使用 Jupyter Notebookpresent working directoryhome/abcde

但是,我希望虚拟环境使用 python 3 解释器并在下面的路径下创建目录

!mkdir python-virtual-environments && cd python-virtual-environments && virtualenv env && virtualenv -p python3 env && .python-virtual-environments/env/bin/activate

这里根据这个post

不得不用.代替source关键字

但是,我收到以下错误。

 re/virtualenv/seed-app-data/v1.0.1)
 activators PythonActivator,FishActivator,XonshActivator,CShellActivator,PowerShellActivator,BashActivator
/bin/sh: 1: .python-virtual-environments/env/bin/activate: not found   #error is here in this line.

你能帮助我如何执行这个命令吗?

如果我分解命令并将它们放在每个单元格中,将在 pwd 中创建文件夹,即 home/abcde

错误是因为你已经在 env 目录中,然后你正在执行 .python-virtual-environments/env/bin/activate.

您需要运行. env/bin/activate如下:

!mkdir python-virtual-environments && cd python-virtual-environments && virtualenv env && virtualenv -p python3 env && . env/bin/activate

If I break down the commands and put them in each cell, the folders are being created in the pwd which is home/abcde

这是因为每个终端命令(使用!)都是在一个新的shell中执行的。因此,cd python-virtual-environments 变得毫无用处,如果您想独立地 运行 每个命令或使用 %%bash.

,则可以改用 %cd python-virtual-environments/
%%bash

mkdir python-virtual-environments
cd python-virtual-environments
virtualenv -p python3 env
. env/bin/activate