Если вы работаете в Linux и вы предпочли бы полностью избегать conda и использовать виртуальные envs (venvs), чтобы поддерживать python, И вы используете более старую / LTS ОС на основе Debian, который может не иметь обновленных nodejs: то есть Ubuntu 16.04 LTS, у которого нет node
, а скорее nodejs
(node
принадлежит другому пакету, а версия 'legacy nodejs' слишком старая), затем читайте дальше.
Это немного сложнее настроить, но гораздо проще поддерживать в долгосрочной перспективе, чем conda. (вы всегда можете создать новый venv
для нового проекта, не нарушая старые проекты).
Основные моменты:
- используйте PPA, чтобы получить свежие версии того, что вам нужно
- Use virtualenvwrapper so you can:
- use up-to-date python3
- Избегайте испортить вашу установку pip
- избегайте путаницы с системным менеджером пакетов
- также легко работать с людьми с разными версиями python
- следовать лучшей практике python
- легко иметь разные venv, которые могут иметь старые или несовместимые пакеты python и pip.
- Use Nodejs binary distributions
- need node.js version "10.x" for jupyterlab widgets
- позволяет использовать системный менеджер пакетов, чтобы поддерживать nodejs в свежем виде
- будут поддерживаться и доступны до тех пор, пока LTS
Итак, все фактические шаги (они были протестированы для работы на Linux Mint 18.3 Sylvia, которая в основном совместима с ubuntu xenial aka Ubuntu 16.04 LTS. Различия будут возникать в основном в nodejs, прочтите readme в ссылке github выше, чтобы решить для других ОС) :
Попросите администратора сделать (или сделайте это самостоятельно, если умеете sudo):
sudo apt update
sudo apt install software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install -y python3.8 python3.8-dev python3.8-distutils python3-pip python3-venv
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt-get install -y nodejs
Затем, как собственный пользователь, вы можете выполнить остальные шаги:
pip3 install --user virtualenv virtualenvwrapper
mkdir ~/.envs
Затем вы захотите добавить следующее в конец своего .bashrc
:
export PATH=~/.local/bin:$PATH
export WORKON_HOME=~/.envs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source ~/.local/bin/virtualenvwrapper.sh
На этом этапе создайте новую оболочку, и вы сможете запустить остальную часть установки, фактически установив jupyterlab:
mkvirtualenv -p python3.8 jupenv
pip install jupyter matplotlib pandas ipympl tqdm
jupyter labextension install @jupyter-widgets/jupyterlab-manager
Теперь все готово.
Чтобы открыть / использовать jupyter, вы хотите (из-за venv, который я назвал jupenv
выше, вы можете назвать его как хотите в этой строке mkvirtualenv
):
workon jupenv
jupyter lab
В противном случае мне не было конца, пытаясь заставить nodejs работать с устаревшими пакетами ubuntu. Иногда это срабатывало, несколько перезапусков, а затем выходило из строя. В других случаях он просто продолжал выдавать мне те же недостающие виджеты, а иногда и небольшие строчки нежелательного js-кода.
Virtualenvs стоит использовать, особенно когда вы серьезно начинаете использовать python и работаете с другими людьми, которые могут использовать разные версии / разные наборы пакетов pip. VirtualEnvWrapper делает это довольно безболезненным. Основная идея заключается в том, что все, что вы устанавливаете pip install, даже jupyter, в конечном итоге хранится отдельно (и отдельно от системных пакетов), что позволяет всем работать очень хорошо.
Есть несколько основных, что можно и чего нельзя:
- НЕ запускайте
pip install ...
строк, не находясь в venv
- НЕ используйте
pip3
вместо pip
в venv.
- ДЕЙСТВИТЕЛЬНО используйте
python
, а не python3
, чтобы работать внутри.
- НЕ используйте
conda...
!
- DO know that you can have all your virtualenvs updated at once with:
allvirtualenv pip install -U pip
Что касается двоичных пакетов распространения nodejs: они настоятельно рекомендуются там, где они поддерживают вашу конкретную ОС. Они будут очень актуальными и доставят минимум проблем.
person
RGD2
schedule
22.06.2020