运行 virtualenv 中的 Jupyter notebook:已安装的 sklearn 模块不可用
Running Jupyter notebook in a virtualenv: installed sklearn module not available
我安装了一个创建的 virtualenv machinelearn 并在其中安装了一些 python 模块(pandas、scipy 和 sklearn)环境。
当我 运行 jupyter 笔记本时,我可以在我的笔记本中导入 pandas 和 scipy - 但是,当我尝试导入 sklearn 时,我收到以下错误消息:
import sklearn
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-1-8fd979e02004> in <module>()
----> 1 import sklearn
ImportError: No module named 'sklearn'
我可以在命令行导入所有模块 - 所以我知道它们已经成功安装:
(machinelearn) me@yourbox:~/path/to/machinelearn$ python -c "import pandas, scipy, sklearn"
(machinelearn) me@yourbox:~/path/to/machinelearn$
如何在我的 jupyter notebook 中导入 sklearn 运行ning 在 virtualenv 中?
你可能还没有在你的 virtualenv 中安装 jupyter / IPython。请尝试以下操作:
python -c "import IPython"
并检查在 $PATH
中找到的 jupyter
命令是否来自 venv 的 bin
文件夹:
which jupyter
对于 Powershell 控制台中的 windows 用户,您可以使用以下命令检查 $env:Path
中的 jupyter
命令是否来自 Scripts
文件夹你们中的 venv:
get-command jupyter
编辑:如果这是问题所在,只需 运行 python -m pip install jupyter
在您的 venv.
编辑2:其实你可能还需要:
python -m ipykernel install --user --name=my-virtualenv-name
然后在jupyter用户界面切换名为“my-virtualenv-name”的内核
编辑 3:也许最后一个命令中的 --user
标志是个坏主意:
python -m ipykernel install --name=my-virtualenv-name
另一种方法是安装一个全局 jupyter,但指向不同的内核 运行 作为后端。
他们的文档中概述了这种方法:
http://help.pythonanywhere.com/pages/IPythonNotebookVirtualenvs
复制下面以防 link 中断:
您可以为 IPython 笔记本使用 virtualenv。按照以下步骤操作:
将 ipython 内核模块安装到您的 virtualenv
workon my-virtualenv-name # activate your virtualenv, if you haven't already
pip install ipykernel
现在运行内核"self-install"脚本:
python -m ipykernel install --user --name=my-virtualenv-name
根据需要替换 --name 参数。
您现在应该能够在 IPython 笔记本菜单中看到您的内核:内核 -> 更改内核并能够切换到它(您可能需要刷新页面才能出现在列表中). IPython 以后会记住该笔记本使用哪个内核。
使用 python3 -m venv 命令创建 virtualenv
我遇到了和你一样的问题。
在我的例子中,我使用命令
创建了 virtualenv
python3 -m venv ./my_virtual_env --system-site-packages
问题是我无法在虚拟环境中安装 jupyter,因为它已经在 system-site-package 中(当您尝试安装它时,它会告诉您 "Requirement already satisfied")。
要安装 jupyter,(首先是 pip,使用此命令不会在您的虚拟环境中安装它)但仍然可以访问 system-site-package,您可以 运行 :
python3 -m venv ./my_virtual_env
激活您的虚拟环境,运行 pip3 install jupyter
(和pip3 install pip
)然后打开文件中的选项 include-system-site-packages .[=36= .cfg.
停用并重新激活您的环境后,您将可以访问系统 site-packages。
使用 virtualenv 命令创建 virtualenv
假设 this answer 您可以通过创建文件 ./my_virtual_env/lib/python3.4/no-global-site-packages.txt 来阻止对系统 site-packages 的访问,
并通过删除它取回访问权限。
要将 Jupyter 笔记本与虚拟环境(使用 virtualenvwrapper)以及安装在该环境中的软件包一起使用,请按照以下步骤操作:
创建虚拟环境
mkvirtualenv --no-site-packages --python=/your/python/path your_env_name
激活虚拟环境
workon your_env_name
安装 Jupyter 和其他包
pip install jupyter, numpy
将新内核添加到您的 Jupyter 配置中
ipython kernel install --user --name=your_env_name
完成。您现在可以在虚拟环境下使用Jupyter notebook了。
jupyter-notebook
免责声明:问题已得到解答,但隐藏在其中一个回复中。我用谷歌搜索并花了一些时间找到正确的答案。所以我只是总结一下,以便有相同问题的人可以轻松关注。
如果您使用以下方法创建了虚拟环境,您仍然可以在虚拟环境中安装 jupyter:
python -m venv --system-site-packages path/to/my-venv
只需这样做:
activate-your-env
pip install -I jupyter
你现在可以开始了
jupyter notebook
假设你的机器上安装了 jupyter,而不是虚拟环境。
通过 Jupyter 笔记本使用虚拟环境
VENV_NAME = "YOUR VIRTUAL ENV NAME"
1) virtualenv VENV_NAME
2) source venv/bin/activate
3) 如果不存在则添加此包:pip3 install ipykernel
4) 然后执行这条命令:ipython kernel install --user --name=VENV_NAME
5) 现在打开 Jupyter Notebook 并更改内核 select VENV_NAME
6) 要安装新包,请在您的终端中执行 pip3 install <PACKAGE NAME>
并重复步骤 4。
希望对您有所帮助!
不全局添加新内核的解决方法!!
- 通过
创建一个新的虚拟环境
python3 -m virtualenv envname
- 通过
激活您的环境并在其中安装 jupyter
pip install jupyter
在安装 jupyter 之前,您必须确保您没有安装以下软件包。
ipykernel
ipython
ipython-genutils
ipywidgets
jupyter
jupyter-client
jupyter-console
jupyter-core
如果您之前安装过它们,请先通过 pip uninstall
卸载它们。
- 在激活的 virtualenv 中安装你想要的包并在其中启动 jupyter 瞧!
我安装了一个创建的 virtualenv machinelearn 并在其中安装了一些 python 模块(pandas、scipy 和 sklearn)环境。
当我 运行 jupyter 笔记本时,我可以在我的笔记本中导入 pandas 和 scipy - 但是,当我尝试导入 sklearn 时,我收到以下错误消息:
import sklearn
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-1-8fd979e02004> in <module>()
----> 1 import sklearn
ImportError: No module named 'sklearn'
我可以在命令行导入所有模块 - 所以我知道它们已经成功安装:
(machinelearn) me@yourbox:~/path/to/machinelearn$ python -c "import pandas, scipy, sklearn"
(machinelearn) me@yourbox:~/path/to/machinelearn$
如何在我的 jupyter notebook 中导入 sklearn 运行ning 在 virtualenv 中?
你可能还没有在你的 virtualenv 中安装 jupyter / IPython。请尝试以下操作:
python -c "import IPython"
并检查在 $PATH
中找到的 jupyter
命令是否来自 venv 的 bin
文件夹:
which jupyter
对于 Powershell 控制台中的 windows 用户,您可以使用以下命令检查 $env:Path
中的 jupyter
命令是否来自 Scripts
文件夹你们中的 venv:
get-command jupyter
编辑:如果这是问题所在,只需 运行 python -m pip install jupyter
在您的 venv.
编辑2:其实你可能还需要:
python -m ipykernel install --user --name=my-virtualenv-name
然后在jupyter用户界面切换名为“my-virtualenv-name”的内核
编辑 3:也许最后一个命令中的 --user
标志是个坏主意:
python -m ipykernel install --name=my-virtualenv-name
另一种方法是安装一个全局 jupyter,但指向不同的内核 运行 作为后端。
他们的文档中概述了这种方法: http://help.pythonanywhere.com/pages/IPythonNotebookVirtualenvs
复制下面以防 link 中断: 您可以为 IPython 笔记本使用 virtualenv。按照以下步骤操作:
将 ipython 内核模块安装到您的 virtualenv
workon my-virtualenv-name # activate your virtualenv, if you haven't already
pip install ipykernel
现在运行内核"self-install"脚本:
python -m ipykernel install --user --name=my-virtualenv-name
根据需要替换 --name 参数。
您现在应该能够在 IPython 笔记本菜单中看到您的内核:内核 -> 更改内核并能够切换到它(您可能需要刷新页面才能出现在列表中). IPython 以后会记住该笔记本使用哪个内核。
使用 python3 -m venv 命令创建 virtualenv
我遇到了和你一样的问题。 在我的例子中,我使用命令
创建了 virtualenvpython3 -m venv ./my_virtual_env --system-site-packages
问题是我无法在虚拟环境中安装 jupyter,因为它已经在 system-site-package 中(当您尝试安装它时,它会告诉您 "Requirement already satisfied")。
要安装 jupyter,(首先是 pip,使用此命令不会在您的虚拟环境中安装它)但仍然可以访问 system-site-package,您可以 运行 :
python3 -m venv ./my_virtual_env
激活您的虚拟环境,运行 pip3 install jupyter
(和pip3 install pip
)然后打开文件中的选项 include-system-site-packages .[=36= .cfg.
停用并重新激活您的环境后,您将可以访问系统 site-packages。
使用 virtualenv 命令创建 virtualenv
假设 this answer 您可以通过创建文件 ./my_virtual_env/lib/python3.4/no-global-site-packages.txt 来阻止对系统 site-packages 的访问, 并通过删除它取回访问权限。
要将 Jupyter 笔记本与虚拟环境(使用 virtualenvwrapper)以及安装在该环境中的软件包一起使用,请按照以下步骤操作:
创建虚拟环境
mkvirtualenv --no-site-packages --python=/your/python/path your_env_name
激活虚拟环境
workon your_env_name
安装 Jupyter 和其他包
pip install jupyter, numpy
将新内核添加到您的 Jupyter 配置中
ipython kernel install --user --name=your_env_name
完成。您现在可以在虚拟环境下使用Jupyter notebook了。
jupyter-notebook
免责声明:问题已得到解答,但隐藏在其中一个回复中。我用谷歌搜索并花了一些时间找到正确的答案。所以我只是总结一下,以便有相同问题的人可以轻松关注。
如果您使用以下方法创建了虚拟环境,您仍然可以在虚拟环境中安装 jupyter:
python -m venv --system-site-packages path/to/my-venv
只需这样做:
activate-your-env
pip install -I jupyter
你现在可以开始了
jupyter notebook
假设你的机器上安装了 jupyter,而不是虚拟环境。
通过 Jupyter 笔记本使用虚拟环境
VENV_NAME = "YOUR VIRTUAL ENV NAME"
1) virtualenv VENV_NAME
2) source venv/bin/activate
3) 如果不存在则添加此包:pip3 install ipykernel
4) 然后执行这条命令:ipython kernel install --user --name=VENV_NAME
5) 现在打开 Jupyter Notebook 并更改内核 select VENV_NAME
6) 要安装新包,请在您的终端中执行 pip3 install <PACKAGE NAME>
并重复步骤 4。
希望对您有所帮助!
不全局添加新内核的解决方法!!
- 通过 创建一个新的虚拟环境
python3 -m virtualenv envname
- 通过 激活您的环境并在其中安装 jupyter
pip install jupyter
在安装 jupyter 之前,您必须确保您没有安装以下软件包。
ipykernel
ipython
ipython-genutils
ipywidgets
jupyter
jupyter-client
jupyter-console
jupyter-core
如果您之前安装过它们,请先通过 pip uninstall
卸载它们。
- 在激活的 virtualenv 中安装你想要的包并在其中启动 jupyter 瞧!