安装virtualenv后,我无法再运行ipython/jupyter

安装virtualenv后,我无法再运行ipython/jupyter,python,ipython,jupyter,hashlib,Python,Ipython,Jupyter,Hashlib,我在Windows7中愉快地使用ipython已经有好几个月了,但最近决定使用django。我正在看的指南建议安装virtualenv,我确实这样做了,而且效果很好(至少看起来是这样) 但是,现在,当我尝试启动ipython(或jupyter)时,我得到以下错误: C:\Python\Scripts>jupyter notebook Traceback (most recent call last): File "c:\python\lib\runpy.py", line 162, i

我在Windows7中愉快地使用ipython已经有好几个月了,但最近决定使用django。我正在看的指南建议安装virtualenv,我确实这样做了,而且效果很好(至少看起来是这样)

但是,现在,当我尝试启动ipython(或jupyter)时,我得到以下错误:

C:\Python\Scripts>jupyter notebook
Traceback (most recent call last):
  File "c:\python\lib\runpy.py", line 162, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "c:\python\lib\runpy.py", line 72, in _run_code
    exec code in run_globals
  File "C:\Python\Scripts\jupyter-notebook.exe\__main__.py", line 5, in <module>
  File "c:\python\lib\site-packages\notebook\notebookapp.py", line 60, in <module>
    from .services.contents.manager import ContentsManager
  File "c:\python\lib\site-packages\notebook\services\contents\manager.py", line 16, in <module>
    from nbformat import sign, validate, ValidationError
  File "c:\python\lib\site-packages\nbformat\sign.py", line 33, in <module>
    algorithms = hashlib.algorithms
AttributeError: 'module' object has no attribute 'algorithms'
C:\Python\Scripts>jupyter笔记本
回溯(最近一次呼叫最后一次):
文件“c:\python\lib\runpy.py”,第162行,位于作为主模块的运行模块中
“\uuuuu main\uuuuuuuuuuuuuuuuuuuuuuuuu”,fname,loader,pkg\u name)
文件“c:\python\lib\runpy.py”,第72行,在运行代码中
run_globals中的exec代码
文件“C:\Python\Scripts\jupyter notebook.exe\\uuuuu main\uuuuuuu.py”,第5行,在
文件“c:\python\lib\site packages\notebook\notebookapp.py”,第60行,在
从.services.contents.manager导入内容管理器
文件“c:\python\lib\site packages\notebook\services\contents\manager.py”,第16行,在
从nbformat导入签名、验证、验证错误
文件“c:\python\lib\site packages\nbformat\sign.py”,第33行,在
算法=hashlib.algorithms
AttributeError:“模块”对象没有属性“算法”

我尝试过卸载和重新安装jupyter、hashlib,甚至python本身,但都没有成功。我正在使用pip进行安装,我也安装了安装工具。我正在考虑重新格式化硬盘,重新开始,但这似乎有点极端。任何帮助都将不胜感激。谢谢。

针对评论中的最后一个问题,他们的文档中有一个很好的部分,介绍如何使用virtualenv内核作为jupyter笔记本的后端

在链接失效的情况下从文档复制:

您可以在IPython笔记本上使用virtualenv。请按照以下步骤操作:

将ipython内核模块安装到virtualenv中

workon my-virtualenv-name  # activate your virtualenv, if you haven't already
pip install ipykernel
现在运行内核“自我安装”脚本:

根据需要替换--name参数


现在,您应该能够在IPython笔记本菜单中看到您的内核:kernel->Change kernel,并能够切换到它(您可能需要在页面出现在列表中之前刷新页面)。从那时起,IPython将记住该笔记本使用哪个内核。

您是否从python2升级到了python3<代码>hashlib.algorithms在py3中被删除。python版本的输出是什么?C:\python\Scripts>python版本python 2.7.11::Anaconda 2.4.0(64位)FWIW,我放弃并卸载了所有内容,然后重新安装了Anaconda。现在一切都好了。从这里我将考虑VielalEnv与Jujyt/iPython不兼容,虽然有一件事我没有尝试安装和运行Jupyter在VielalEnv…如果可能的话,也许其他人会插话。谢谢,登山者们!
python -m ipykernel install --user --name=my-virtualenv-name