我正在尝试在虚拟环境中使用全局安装的 Jupyter 版本运行 Jupyter 笔记本(使用 virtualenvwrapper
,因为我想管理已安装包的版本)。而且我也不会用Anaconda。
问题是当我从 virtualenv 中运行 jupyter notebook
时,它找不到环境中安装的包,它只能找到全局安装的包。
如何设置 Jupyter 来检查安装在虚拟环境中而不是全局环境中的包?
这是我运行 which python
和 which jupyter
时得到的结果:
全局范围内:
which python >>> /usr/local/bin/python
which jupyter >>> /usr/local/bin/jupyter
从 virtualenv 中:
which python >>> /Users/brianclifton/.virtualenvs/test/bin/python
which jupyter >>> /usr/local/bin/jupyter
从 virtualenv 中运行 jupyter notebook
:
which python >>> /usr/local/bin/python
which jupyter >>> /usr/local/bin/jupyter
此外,这是我的 .bash_profile
:
export VISUAL=vim
export EDITOR="$VISUAL"
export PS1="\\[\[\e[38;5;94m\][\u] \[\e[38;5;240m\]\w:\[\e[m\] \$(__git_ps1 '(%s)')$ "
export CLICOLOR=1
export LSCOLORS=ExFxBxDxCxegedabagacad
export PATH=/usr/local/bin/python:/usr/local/bin:$PATH
alias ls='ls -GFh'
alias pserv="python -m SimpleHTTPServer"
alias ipynb="jupyter notebook"
export WORKON_HOME=/Users/brianclifton/.virtualenvs
export PROJECT_HOME=/Users/brianclifton/dev
source /usr/local/bin/virtualenvwrapper.sh
if [ -f $(brew --prefix)/etc/bash_completion ]; then
. $(brew --prefix)/etc/bash_completion
fi
alias branch='git rev-parse --abbrev-ref HEAD'
function frameworkpython {
if [[ ! -z "$VIRTUAL_ENV" ]]; then
PYTHONHOME=$VIRTUAL_ENV /usr/local/bin/python "$@"
else
/usr/local/bin/python "$@"
fi
}
最佳答案
来自 virtualenv doc 的另一个解决方案
workon test
pip install ipykernel
python -m ipykernel install --prefix=/usr/local --name test-kernel
然后,当您从其他 virtualenv 运行 jupyter 时,您的内核应该会出现,并且测试中安装的所有包都可以从中获得。如果您更喜欢按用户安装而不是系统范围安装,请根据文档更改前缀值
关于python - 如何从虚拟环境中运行全局安装的 Jupyter?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42232819/