没有名为 os.path 的模块:错误的 Python 被 bash 调用

No module named os.path : wrong Python being called by bash

OS: 美分OS 6.6 Python 2.7 因此,在突然关闭后突然停止工作后,我(重新)安装了 Canopy。安装后它立即运行良好(我安装为默认 Python)。但是在一次重新启动后,当我尝试使用 /root/Canopy/canopy 打开它时(应用程序下的图标也不再有效),我收到以下错误:

(Canopy 64bit) [xxuser@xxlinux ~]$ /root/Canopy/canopy Traceback (most recent call last):   File "/home/xxuser/qiime_software/sphinx-1.0.4-release/lib/python2.7/site-packages/site.py", line 73, in <module>
    __boot()   File "/home/xxuser/qiime_software/sphinx-1.0.4-release/lib/python2.7/site-packages/site.py", line 2, in __boot
    import sys, imp, os, os.path    ImportError: No module named path

我发现这个 link: Python - os.path doesn't exist: AttributeError: 'module' object has no attribute 'path',但是我的 os.py 和 os.pyc 分别是 250 和 700 字节。还有另一个名为 site.py 的文件,它是 0 字节,而 site.pyc 大约是 100 字节。这些文件是什么?删除它们会不会有任何伤害(他们就是这样做的)?为什么重启后会发生这种情况? (使用重启命令)。

我还发现了这个:https://groups.google.com/forum/#!topic/spyderlib/hKB15JYyLqM,这可能是相关的。我之前用 sys.path.append('/..')

更新了我的 python 路径

我的猜测是由于某种原因 os.path 不在 sys.path 中? __boot 找不到?但我是 Python 和 Linux 的新手,想在修改任何引导文件、路径等之前知道我在做什么。

提前致谢。

更多信息(看到我支持os在对原始问题的编辑中更新新信息。这是新内容。)

来自评论之一:
这就是我得到的:

进口os.path

导入 posixpath

os.path

模块 'posixpath' 来自 '/home/xxuser/qiime_software/python-2.7.3-release/lib/python2.7/posixpath.pyc'

posixpath

模块 'posixpath' 来自 '/home/xxuser/qiime_software/python-2.7.3-release/lib/python2.7/posixpath.pyc'

看起来 os.path 在那里。 这可能与权限错误有关吗?我已将它安装到 /root/Canopy/canopy,我发现了这个:docs.python.org/2/library/os.html#module-os(第 15.1.4 节)。那有意义吗? 我也不确定以下内容是否相关,但可能 possibly。我似乎无法再使用 sys.path.append('/file/path/here') 更新我的路径。它一直有效,直到我 close 终端,然后我必须在下次我想从新目录调用模块时重新附加。 sys.path 和 os.path 有任何关系吗?

尝试输入 import posixpath:

看看您是否有 posixpath
>>> import os.path
>>> os.path
<module 'posixpath' from '/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/posixpath.pyc'>
>>> ^D
bash-3.2$ python
>>> import posixpath
>>> posixpath
<module 'posixpath' from '/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/posixpath.pyc'>
>>> 

事实证明,我在上一条评论中有所作为。 我已经下载了一堆依赖于 python 的生物学模块,其中很多都是自己安装的。当我将模块添加到 ~/.bashrc 时,我的 bash 开始在我最初的 CentOS 安装之前调用它们。重置 ~/.bashrc 并重新启动(出于某种原因 source ~/.bashrc 没有工作)消除了我添加到 $PATH 中的所有额外内容,Canopy 又开始工作了.我将完成并删除 python 的额外安装,希望问题将在我身后。感谢所有发布答案的人,尤其是 A.J.,因为这让我想到了 .bashrc 。

编辑:经过更好的理解,这都是因为在虚拟环境中使用 python。每次我打开 Canopy 时,它都会重置我的路径。我现在使用的是自己安装的虚拟环境,并且已经配置好自己的路径

刚刚在 OSX 上修复了此问题:

brew uninstall python
brew install python

不知道为什么,在与 Python 合作的 5 年里从未见过它:S