【问题标题】:Installing find spark in virtual environment在虚拟环境中安装 find spark
【发布时间】:2020-10-12 14:18:27
【问题描述】:

我正在使用pyenv 创建一个虚拟环境。

我的pyenv包位于bio项目下/.pyenv/versions/bio/lib/python3.7/site-packages

我在下面安装了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

【问题讨论】:

    标签: python apache-spark pyspark jupyter-notebook virtualenv


    【解决方案1】:

    即使您在终端会话中激活了 virtualenv,Jupyter 笔记本也不会从 virtualenv 中启动。

    如果你import sys 并打印出sys.executable,你会发现python 可执行文件的第一个值不是virtualenv 的值。

    您需要将virtualenvpython 添加为内核。

    $ 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
    

    这将创建一个新内核,该内核将在下拉列表中可用。

    你可以检查内核是否是这样创建的

    $ jupyter kernelspec list
    Available kernels:
      python3        /home/disciple/.local/share/jupyter/kernels/python3
      pysparkvenv    /usr/local/share/jupyter/kernels/pysparkvenv
    

    在此之后,您可以从任何地方启动jupyter notebook,并且可以使用新内核。选择此项,您将拥有安装在 virtualenv 中的所有模块。

    【讨论】:

    • 嗨,不,我可以启动安装在 virtualenv 中的 jupyter notebook
    • 因为在全局python中没有安装findspark。它只安装在环境中。
    • python3 内核不是您创建的环境中的那个。所以它不会有你在 env 中安装的任何模块
    • 您可以在全局范围内安装所有内容,我认为您不想这样做,因为您使用的是 pipenv。或者为该特定环境安装另一个内核。
    • 对不起,我已经安装了pysparkjupyter notebookfind spark 安装在虚拟环境中的所有东西,并且没有尝试在 jupyter 中的 import findspark 中使用通常的导入命令
    猜你喜欢
    • 2019-05-16
    • 2014-02-26
    • 2021-06-03
    • 2020-06-03
    • 2017-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-09
    相关资源
    最近更新 更多