我是python的新手,并试图通过this教程了解python fuse。我用pip安装了pythonfuse。我通过下载dmg并在os x上安装来安装os x fuse。当我从教程中运行这行代码from fuse import FUSE, FuseOSError, Operations
时,我看到了:
akh2103$ python myfuse.py
Traceback (most recent call last):
File "myfuse.py", line 10, in <module>
from fuse import FUSE, FuseOSError, Operations
ImportError: cannot import name FUSE
好像找不到保险丝包,找不到python保险丝包或找不到包内的FUSE,FuseOSError和Operations方法。哪一个?当我输入import fuse
Python去哪里寻找保险丝包?我习惯在java中对路径进行分类:是否有python等价?我是python的新手。我该如何开始调试呢。
答案 0 :(得分:1)
它位于/ Library / Python /&lt; version&gt; / site-packages。
您可能有多个版本可能是问题的原因。
找出pip安装保险丝的位置。
您可以使用PYTHONPATH环境变量添加其他文件夹。
答案 1 :(得分:0)
找到了保险丝模块(否则你会看到“没有名为保险丝的模块”)。您得到的错误意味着模块保险丝中找不到“FUSE”符号。
我的猜测是FUSE有几个python绑定,你可能正在寻找一个与你正在加载的模块不同的模块的教程。另一种选择是不同版本之间库中的一些重大变化。
如果要查看模块导出的所有符号,请使用dir()
:
import fuse
dir(fuse)
答案 2 :(得分:0)
说这是你的目录结构:
myapp/
firstpackage/
__init__.py
firstmodule.py
secondpackage/
__init__.py
secondmodule.py
__init__.py
myfirstapp.py
firstmodule.py
def first_function(data):
return data
def second_function(data):
return data
现在让我们说我们的工作是:mod:`myfirstapp`。
如果我们想访问:func:`first_function`,我们将导入如下:
from myapp.firstpackage.firstmodule import first_function
print first_function('foo')
:mod:`__ init__'在'firstpackage'目录中允许:mod:`firstmodule`从它的目录外部访问。在目录中包含:file:`__init __。py`使该目录成为Python包。
但是,最好导入整个模块,如:
import myapp.firstpackage.firstmodule as firstmodule
print firstmodule.first_function('foo')
print firstmodule.second_function('bar')
另一种方法是:
from myapp.firstpackage import firstmodule
print firstmodule.second_function('foo')
这样一切都可以在您的模块中访问,并且更易于阅读。
话虽如此,你接收的:exc:`ImportError`是因为'mod:`fuse`中不存在'FUSE',无论是数据,类还是函数。
打开fuse.py并搜索“FUSE”并查看是否有任何问题。寻找:
def FUSE(): ...
class FUSE(..): ...
FUSE = ...
我知道整个软件包/模块课程不在你的问题主题中,但是你说你是新的,所以我想我会详细说明:P