运行.ipynb文件遇到的问题

错误如下图:

通过将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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • (转)为Python添加默认模块搜索路径原文出处:https://www.douban.com/note/3347...
    shuff1e阅读 840评论 0 0
  • 1 导入模块后具体做了什么?2 从哪个位置找到需要导入的模块3 导入模块的常见场景? 1 导入模块后具体做了什么?...
    Jacob_LJ阅读 1,310评论 0 3
  • 本书的阅读已接近尾声,文字口语化,也都能说到读者心坎里,回过来头来理性地再看待此书,大冰的文字和小故事大多都很吸引...
    一_8095阅读 180评论 0 0
  • 说实话,作为一名高中狗还在写些装billity地写这些东西不去学习,真的很是不该。总结一下自己的这个高考假(就是...
    Heycheng阅读 271评论 0 1
  • 我从不奢望自己能自由追求梦想,我只给梦想留了一个特别小的角落。每次谈理想,我就走到那个小角落里,逼仄的空间里吸收一...
    饕餮思文阅读 312评论 0 6