我目前正在将Jupyter笔记本用于Python和pipenv虚拟环境。我正在使用以下代码作为在Jupyter笔记本中加载虚拟环境的解决方案:
import sys
sys.path = ['./.venv/lib/python37.zip',
'./.venv/lib/python3.7',
'./.venv/lib/python3.7/lib-dynload',
'./.venv/lib/python3.7/site-packages',
] + sys.path
这是不好的做法吗?如果是这样,有什么问题,风险,副作用等?
(请注意,这是有效的,因为我已将pipenv配置为通过echo "export PIPENV_VENV_IN_PROJECT=1" >> ~/.bash_profile
在我的工作目录中存储环境)
我的目标是将Jupyter笔记本用于众多Python(和R)项目,每个项目都有自己的虚拟环境。我遇到了two unsatisfactory solutions,以实现此目标:
在每个虚拟环境中安装Jupyter。
在每个虚拟环境中创建一个IPyKernel。
我的第三个解决方案是更改pipenv的上述配置,因此虚拟环境位于工作目录中。这样,我的通用内核可以使用相同的路径来定位适当的虚拟环境。我在Jupyter中添加了sys.path的适当路径。这是一个可怕的主意吗?
答案 0 :(得分:0)
如果您要与其他人共享笔记本,并且他们的文件系统没有按照您的确切方式进行布局,那么肯定会弄乱其他人。您能先创建一个新的虚拟环境,然后符号链接到已安装jupyter的虚拟环境吗?