IPython启动脚本已永久性地改变了Jupyter Notbooks的行为

时间:2019-04-18 03:55:57

标签: python jupyter-notebook ipython jupyter pyenv

我遵循了有关设置pyenv工作流程的指南,其中包括一个IPython启动脚本,该脚本在使用Jupyter时会修改PYTHONPATH。现在,我不想使用pyenv,但即使在卸载了本指南中的所有内容之后也是如此。这种不良的脚本行为仍然存在。

我遵循了本指南https://medium.com/@henriquebastos/the-definitive-guide-to-setup-my-python-workspace-628d68552e14

它为Jupyter提供了一个单独的虚拟环境,其他虚拟环境使用该虚拟环境。它包含一个IPython启动脚本,该脚本可运行并将virtualenv的站点程序包加载到Jupyter Notebook环境中。

我不再想要使用pyenv。我正在使用MacOSX。我使用Homebrew来安装pyenv,pyenv-virtualenv,pyenv-virtualenvwrapper,因此我删除了所有使用“ brew uninstall”的程序。我从/ usr / local / bin,/ usr / local / lib,/ usr / local / share和〜/中删除了pyenv,jupyter,ipython和python的任何痕迹。

然后我再次使用自制软件安装了python,并运行pip3 install jupyter。我运行了jupyter笔记本,它仍在尝试从这个不存在的位置'/Users/dhemming/.pyenv/versions/jupyter3/bin/python'运行内核。

我真的不认为我了解脚本或Python路径,我真的希望有人可以解释发生了什么事。

在遵循指南时,我这样做了:

创建jupyter3虚拟环境(以及其他虚拟环境):

pyenv virtualenv 3.6.0 jupyter3

安装jupyter

pyenv activate jupyter3
pip install jupyter
python -m ipykernel install --user
pyenv deactivate

设置pyenv全局:

pyenv global 3.6.0 2.7.13 jupyter3 ipython2 tools3 tools2

检查哪个jupyter:

~$ pyenv which jupyter
/Users/dhemming/.pyenv/versions/jupyter3/bin/jupyter

安装IPython脚本:

ipython profile create
curl -L http://hbn.link/hb-ipython-startup-script > ~/.ipython/profile_default/startup/00-venv-sitepackages.py

这是curl命令获取的脚本:

import os
import sys
from warnings import warn


virtualenv = os.environ.get('VIRTUAL_ENV')

if virtualenv:

    version = os.listdir(os.path.join(virtualenv, 'lib'))[0]
    site_packages = os.path.join(virtualenv, 'lib', version, 'site-packages')
    lib_dynload = os.path.join(virtualenv, 'lib', version, 'lib-dynload')

    if not (os.path.exists(site_packages) and os.path.exists(lib_dynload)):
        msg = 'Virtualenv site-packages discovery went wrong for %r' % repr([site_packages, lib_dynload])
        warn(msg)

    sys.path.insert(0, site_packages)
    sys.path.insert(1, lib_dynload)

完成指南后,一切工作正常,每当我使用pyenv创建新的虚拟环境时,它都会使用jupyter3虚拟环境来运行装有新虚拟环境库等的笔记本。

然后,我不再需要此设置。因此,我删除了python的所有痕迹以及与python相关的任何东西,并使用Homebrew安装了新的python并进行了pip3安装jupyter。之后,我运行jupyter notebook,但仍然得到此信息:

Failed to run the command:
    ['/Users/dhemming/.pyenv/versions/jupyter3/bin/python', '-m', 'ipykernel_launcher', '-f', '/Users/dhemming/Library/Jupyter/runtime/kernel-1d721ce4-1619-498d-9f0b-62b98b12d0ac.json']
        PATH='/usr/local/bin:/Users/dhemming/.rbenv/shims:/usr/local/opt/openssl/bin:/Users/dhemming/.nvm/versions/node/v8.11.2/bin:/Users/dhemming/bin:/usr/local/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin'
        with kwargs:
    {'stdin': -1, 'stdout': None, 'stderr': None, 'cwd': '/Users/dhemming/workspace/tmp/tmp_01', 'start_new_session': True}

“ / Users / dhemming / .pyenv / versions / jupyter3 / bin / python”来自哪里?

1 个答案:

答案 0 :(得分:0)

我最终删除了〜/ Library / Jupyter,从而解决了该问题。但是,我敢肯定,如果有人知道,可以使用一种不太极端的方法来解决此问题。