zoukankan      html  css  js  c++  java
  • 使用jupyter切换子环境,以及导致的`找不到指定模块`和`找不到指定的程序`问题

        为了防止python环境变乱,于是新建子环境进行不同项目操作。最近想使用jupyter切换环境进行操作。遇到了下列问题:
    1. 安装插件,使jupyter可以切换环境
    2. ImportError: DLL load failed: 找不到指定的模块。
    3. ImportError: DLL load failed: 找不到指定的程序。

    一、安装插件

        想要在jupyter下切换环境运行,需要安装以下插件:

    #有两个环境,tf1,和tf2,激活
    conda activate tf1
    #安装ipython kernel
    pip install ipykernel
    #链接当前环境到jupyter
    python -m ipykernel install --user --name=tf1
    #然后是另一个环境,做同样操作
    conda activate tf2
    pip install ipykernel
    python -m ipykernel install --user --name=tf2
    

        Anaconda Prompt中的切换界面:

        我新建的环境名称是:caffe-fzp,安装好插件后,即可在jupyter的Homepage中看见:

        点击新的环境caffe-fzp即可进入子环境:

        But!运行过程中,。陆续出现了不少问题,下面是问题记录:

    二、ImportError: DLL load failed: 找不到指定的模块。

        报错的提示如下:

    Traceback (most recent call last):
      File "C:ProgramDataAnaconda3Scriptsjupyter-notebook-script.py", line 6, in <module>
        from notebook.notebookapp import main
      File "C:ProgramDataAnaconda3libsite-packages
    otebook
    otebookapp.py", line 47, in <module>
        from zmq.eventloop import ioloop
      File "C:ProgramDataAnaconda3libsite-packageszmq\__init__.py", line 47, in <module>
        from zmq import backend
      File "C:ProgramDataAnaconda3libsite-packageszmqackend\__init__.py", line 40, in <module>
        reraise(*exc_info)
      File "C:ProgramDataAnaconda3libsite-packageszmqutilssixcerpt.py", line 34, in reraise
        raise value
      File "C:ProgramDataAnaconda3libsite-packageszmqackend\__init__.py", line 27, in <module>
        _ns = select_backend(first)
      File "C:ProgramDataAnaconda3libsite-packageszmqackendselect.py", line 27, in select_backend
        mod = __import__(name, fromlist=public_api)
      File "C:ProgramDataAnaconda3libsite-packageszmqackendcython\__init__.py", line 6, in <module>
        from . import (constants, error, message, context,
    ImportError: DLL load failed: 找不到指定的模块。
    
    • 问题原因:
          zmq包是用于连接的,若出现问题,会导致连接不上服务器。我的问题是版本不匹配
    • 解决办法:
    1. 切换到子环境,再卸载旧版本
    pip uninstall pyzmq
    

        从截图中即可看出,旧版本是17.1.2。

    1. 在子环境里,重新下载新版本
    pip install pyzmq
    

        从截图中即可看出,安装的新版本是18.1.1。

    Bingo!ImportError: DLL load failed: 找不到指定的模块。问题到这里就解决啦。
        如果和我一样又出现了ImportError: DLL load failed: 找不到指定的程序。问题,继续看下一点。

    三、ImportError: DLL load failed: 找不到指定的程序

    [I 10:41:35.455 NotebookApp] KernelRestarter: restarting kernel (4/5), new random ports
    Traceback (most recent call last):
      File "D:InstallSoftwareAnacondaenvscaffe-fzplib
    unpy.py", line 193, in _run_module_as_main
        "__main__", mod_spec)
      File "D:InstallSoftwareAnacondaenvscaffe-fzplib
    unpy.py", line 85, in _run_code
        exec(code, run_globals)
      File "D:InstallSoftwareAnacondaenvscaffe-fzplibsite-packagesipykernel_launcher.py", line 16, in <module>
        app.launch_new_instance()
      File "D:InstallSoftwareAnacondaenvscaffe-fzplibsite-packages	raitletsconfigapplication.py", line 663, in launch_instance
        app.initialize(argv)
      File "<D:InstallSoftwareAnacondaenvscaffe-fzplibsite-packagesdecorator.py:decorator-gen-125>", line 2, in initialize
      File "D:InstallSoftwareAnacondaenvscaffe-fzplibsite-packages	raitletsconfigapplication.py", line 87, in catch_config_error
        return method(app, *args, **kwargs)
      File "D:InstallSoftwareAnacondaenvscaffe-fzplibsite-packagesipykernelkernelapp.py", line 550, in initialize
        self.write_connection_file()
      File "D:InstallSoftwareAnacondaenvscaffe-fzplibsite-packagesipykernelkernelapp.py", line 227, in write_connection_file
        iopub_port=self.iopub_port, control_port=self.control_port)
      File "D:InstallSoftwareAnacondaenvscaffe-fzplibsite-packagesjupyter_clientconnect.py", line 141, in write_connection_file
        with secure_write(fname) as f:
      File "D:InstallSoftwareAnacondaenvscaffe-fzplibcontextlib.py", line 112, in __enter__
        return next(self.gen)
      File "D:InstallSoftwareAnacondaenvscaffe-fzplibsite-packagesjupyter_corepaths.py", line 430, in secure_write
        win32_restrict_file_to_user(fname)
      File "D:InstallSoftwareAnacondaenvscaffe-fzplibsite-packagesjupyter_corepaths.py", line 361, in win32_restrict_file_to_user
        import win32api
    ImportError: DLL load failed: 找不到指定的程序。
    

        emm,原本参考其他博客,python3.6版本,出现这个是版本太高(224、225发布的有问题),卸载后,安装pip install pywin32==223即可。但是我的是python3.7版本。emm,我就试着卸载安装:pip install pywin32(自动确认的版本)。问题解决了。。其实版本也没有变,emm,佛学!若知详情,希望能够不吝赐教。

  • 相关阅读:
    蓝桥网试题 java 基础练习 特殊的数字
    蓝桥网试题 java 基础练习 杨辉三角形
    蓝桥网试题 java 基础练习 查找整数
    蓝桥网试题 java 基础练习 数列特征
    蓝桥网试题 java 基础练习 字母图形
    蓝桥网试题 java 基础练习 01字串
    蓝桥网试题 java 基础练习 回文数
    蓝桥网试题 java 基础练习 特殊回文数
    Using text search in Web page with Sikuli
    each of which 用法
  • 原文地址:https://www.cnblogs.com/somedayLi/p/12320878.html
Copyright © 2011-2022 走看看