美文网首页
运行.ipynb文件遇到的问题

运行.ipynb文件遇到的问题

作者: Mingyan_C | 来源:发表于2019-04-14 23:49 被阅读0次

    错误如下图:

    通过将access_literature_data和access_science_shared都添加到sys.path中

    方法:(有的人说.pth建在dist-package目录下,也有的说需要建在site-package目录下,所以我两个都建了,)

    1.进入到python2.7的site-pakages文件中,使用命令gedit my_py.pth新建一个my_.pth文件,将需要添加的路径放到该文件中,保存后退出。

    site-package中的.pth文件

    2.进入python,重新打印sys.path

    使用命令:import sys 和print (sys.path)

    可见已经将路径放到sys.path中,但是重新运行.ipynb文件时还是同样的错误。

    我使用过的添加路径的方法有:

    1.在site-package 中添加一个.pth文件(参考:https://blog.csdn.net/qq_33655102/article/details/84566157)

    2.dist-package中添加一个.pth文件(参考:https://www.cnblogs.com/softidea/p/6707910.html)

    3.在.profile文件的末尾添加export PYTHONPATH=$PYTHONPATH:文件路径(参考:https://ubuntuqa.com/article/2541.html)

    设置过程中遇到的小问题:

    1.  .pth文件中,若要添加多个包的路径,那么用什么符号将它们隔开?

    2.貌似成功添加了python的搜索路径(至少print (sys.path)使可以看到),但是还是运行错误,是不是因为我用来隔开每个包之间的符号不正确?


    2019.4.15

    上面遗留的问题1已解决:添加环境变量时若有多个路径,则使用英文的冒号(:)将每个路径之间隔开。一定要英文输入,下面放两张图:使用中文冒号(:)和英文冒号(:)将各个路径隔开,会得到什么结果:

    使用中文冒号(:)隔开各个路径后打印得到的结果 使用英文冒号(:)隔开各个路径得到的结果

    可以看到中文的冒号(:)会被转义成/xef/xbc/x9a

    重新理一下关于添加python的模块搜索路径。看了网上的方法有三种:

    1.函数添加

    import sys

    sys.path.append("/you/want/to/add")

    2.修改环境变量:

    sudo -i 进入root用户,执行命令:gedit /etc/profile,在弹出来的一个文件的最后中添加:

    export PYTHONPATH=$PYTHONPATH:/path/you/want/to/add,保存后关掉,并执行命令:source .profile使修改生效。

    重启计算机,进入python,输入下面代码查找python的搜索路径:

    import sys,pprint

    pprint.pprint(sys.path)

    图1 图2,未添加环境变量时的pyhton搜索路径

    图1和图2相比可看到已经将我的文件添加到了系统的环境变量中。

    3.增加.pth文件,很多博文这么写,而且他们都很推荐该方法,如:【python基础】——python添加模块搜索路径和包的导入 - 汤庆 - CSDN博客python自定义库文件路径 - 沧海一滴 - 博客园关于 python ImportError: No module named 的问题 - 二两天涯的专栏 - CSDN博客。应该是我还不理解该方法的具体意义或者我的.pth文件内容排版错误等原因,总之我没有添加成功,反而更加迷糊了。

    有的说.pth文件加在dist-package目录下,有的说加在site-package目录下,我都试了:

    (1)在dist-package 目录下添加my_py.pth文件:gedit my_py.pth

    图a:未添加.pth文件时,打印的sys.path 图b:添加.pth文件,文件中放入我想要加入sys.path中的路径 图c:添加了my_py.pth文件之后重启,在python中打印sys.path

    疑问:在dist-package中添加了.pth文件之后图a中和图c中最后一个路径为什么不一样了?

    (2)在site-package目录下添加.pth文件:添加的命令如dist-package一样:

    图d:site-package中添加的.pth文件 图e:重启计算机,打印sys.path

    从途中可以看到,我.pth文件中的内容并没有打印出来,说明没有设置成功。

    分别将上面添加的两个文件.pth文件删除:

    (1).删除dist-package中添加的.pth文件。

    图f 图e:删除.pth文件之后,重新打印python的搜索路径sys.path

    (2)删除site-package中添加的.pth文件

    图g
    图h:然后重新打印python的搜索路径sys.path

    删除了.pth文件之后,打印python的搜索路径sys.path路径(图e和图h)差不多,但还是有区别:图h多了一个dist-package,我还不知道这是什么原因导致的。

    补充知识点:查看python的包的路径:

    site-package和dist-package的区别:

    1.sudo apt-get install安装的package存放在/usr/lib/python2.7/dist-packages目录中

    2.pip 或者easy_install安装的package存放在/usr/local/lib/python2.7/dist-packages目录中

    3.手动从源代码安装的package存放在site-packages目录中

    参考来源:http://blog.sina.com.cn/s/blog_4ddef8f80102v57b.html

    相关文章

      网友评论

          本文标题:运行.ipynb文件遇到的问题

          本文链接:https://www.haomeiwen.com/subject/leohwqtx.html