没有名为 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
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