运行.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目录中