运行.ipynb文件遇到的问题

错误如下图:

运行.ipynb文件遇到的问题_第1张图片

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

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

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

运行.ipynb文件遇到的问题_第2张图片
site-package中的.pth文件

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

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

运行.ipynb文件遇到的问题_第3张图片

可见已经将路径放到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已解决:添加环境变量时若有多个路径,则使用英文的冒号(:)将每个路径之间隔开。一定要英文输入,下面放两张图:使用中文冒号(:)和英文冒号(:)将各个路径隔开,会得到什么结果:


运行.ipynb文件遇到的问题_第4张图片
使用中文冒号(:)隔开各个路径后打印得到的结果


运行.ipynb文件遇到的问题_第5张图片
使用英文冒号(:)隔开各个路径得到的结果

可以看到中文的冒号(:)会被转义成/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使修改生效。


运行.ipynb文件遇到的问题_第6张图片

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

import sys,pprint

pprint.pprint(sys.path)


运行.ipynb文件遇到的问题_第7张图片
图1


运行.ipynb文件遇到的问题_第8张图片
图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


运行.ipynb文件遇到的问题_第9张图片
图a:未添加.pth文件时,打印的sys.path


运行.ipynb文件遇到的问题_第10张图片
图b:添加.pth文件,文件中放入我想要加入sys.path中的路径
运行.ipynb文件遇到的问题_第11张图片
图c:添加了my_py.pth文件之后重启,在python中打印sys.path

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

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



运行.ipynb文件遇到的问题_第12张图片
图d:site-package中添加的.pth文件


运行.ipynb文件遇到的问题_第13张图片
图e:重启计算机,打印sys.path

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

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

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


图f


运行.ipynb文件遇到的问题_第14张图片
图e:删除.pth文件之后,重新打印python的搜索路径sys.path

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

图g


运行.ipynb文件遇到的问题_第15张图片
图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文件遇到的问题)