[英]Installing find spark in virtual environment
我正在使用pyenv
创建一个虚拟环境。
我的 pyenv 包位于/.pyenv/versions/bio/lib/python3.7/site-packages
的项目bio
下
我使用下面安装了findspark
pip install findspark #it was installed successfully.
我可以在包目录中看到以下文件。
findspark-1.4.2.dist-info
findspark.py
但是,当我从 pyenv 目录启动 Jupyter notebook 时,我收到一条错误消息
import findspark
findspark.init()
ImportError:没有名为 findspark 的模块
尽管 pip 安装成功,您能否帮助我理解为什么我们会收到此错误?
我的which Jupyter
返回以下路径(在终端和 jupyter 笔记本中)
`/home/abcd/.pyenv/shims/jupyter
即使您在终端 session 中激活了virtualenv
,Jupyter notebook 也不会从virtualenv
中启动。
如果您import sys
并打印出sys.executable
,您会发现 python 可执行文件的第一个值不是virtualenv
的值。
您需要将virtualenv
的python
添加为 kernel。
$ virtualenv -p python3 pysparkvenv
$ source pysparkvenv/bin/activate
(pysparkvenv) $ pip install findspark jupiter # etc.
(pysparkvenv) $ python -m ipykernel install --user
(pysparkvenv) $ which python
/home/disciple/Desktop/sample/pysparkvenv/bin/python
# make the necessary change to the python path
(pysparkvenv) $ sudo /home/disciple/Desktop/sample/pysparkvenv/bin/python -m ipykernel install --name pysparkvenv
这将创建一个新的 kernel,它将在下拉列表中可用。
您可以检查 kernel 是否是这样创建的
$ jupyter kernelspec list
Available kernels:
python3 /home/disciple/.local/share/jupyter/kernels/python3
pysparkvenv /usr/local/share/jupyter/kernels/pysparkvenv
在此之后,您可以从任何地方启动jupyter notebook
,并且可以使用新的 kernel。 Select 这样,您将拥有安装在 virtualenv 中的所有模块。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.