Я следовал руководству по настройке рабочего процесса pyenv, оно включает в себя сценарий запуска IPython, который изменяет PYTHONPATH при использовании Jupyter. Теперь я не хочу использовать 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. Я удалил все следы pyenv, jupyter, ipython и python из / usr / local / bin, / usr / local / lib и / usr / local / share, а также ~ /.
Затем я снова установил python, используя homebrew, и запустил 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 global:
pyenv global 3.6.0 2.7.13 jupyter3 ipython2 tools3 tools2
Проверьте, какой юпитер:
~$ 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, и я устанавливаю свежий python, используя Homebrew, и выполняю установку 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'?