我试图在虚拟环境中使用全局安装的Jupyter版本运行Jupyter笔记本(使用virtualenvwrapper,因为我想管理已安装包的版本)。我不知道该怎么用蟒蛇。
问题是,当我在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
}发布于 2017-02-15 04:40:26
一种可能的解决方案是将virutalenv的bin目录作为路径的前缀。这样,jupyter会找到virtualenv的库。您可以在激活环境后运行export PATH:`which python`:$PATH来完成此操作。这将是足够容易的别名。
但是,更好的解决方案可能是将此行添加到postactivate hook/script。要找到此脚本的位置,请在激活virtualenvwrapper并编辑$WORKON_HOME/<virtualenv_name>/bin/postactivate之后执行ls $WORKON_HOME。
发布于 2017-07-25 04:15:21
来自virtualenv doc的另一种解决方案
workon test
pip install ipykernel
python -m ipykernel install --prefix=/usr/local --name test-kernel然后,当您从其他的virtualenv运行jupyter时,您的内核应该会出现,并且所有安装在test中的包都可以从它获得。如果您更喜欢按用户安装而不是系统范围安装,请根据文档更改前缀值
https://stackoverflow.com/questions/42232819
复制相似问题