[英]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.