模块导入路径
我无法运行一个我想用的css解析器。
test.py:
from css.parse import parse
data = """
em {
padding: 2px;
margin: 1em;
border-width: medium;
border-style: dashed;
line-height: 2.4em;
}
p { color: red; font-size: 12pt }
p:first-letter { color: green; font-size: 200% }
p:first-line { color: blue }"""
for rule in parse(data):
print (rule)
..出现了一个错误:
Traceback (most recent call last):
method <module> in test.py at line 1
from css.parse import parse
method <module> in test.py at line 6
from . import css, csslex, cssyacc
method <module> in test.py at line 8
from . import serialize
method <module> in test.py at line 6
from . import css
ImportError: cannot import name css
目录结构 (/Users/nimbuz/Documents/python31):
/Users/nimbuz/Documents/python31/**csspy**/
|
+-- css/ (*has __init__.py*)
|
+-- uri/ (*has __init__.py*)
|
+-- test.py
print(sys.path) 显示:
['/Users/nimbuz/Documents/python31/csspy', '/Library/Frameworks/Python.framework/Versions/3.1/lib/python31.zip', '/Library/Frameworks/Python.framework/Versions/3.1/lib/python3.1', '/Library/Frameworks/Python.framework/Versions/3.1/lib/python3.1/plat-darwin', '/Library/Frameworks/Python.framework/Versions/3.1/lib/python3.1/lib-dynload', '/Library/Frameworks/Python.framework/Versions/3.1/lib/python3.1/site-packages']
5 个回答
你在 cssparser
和 css
这两个文件夹里有 __init__.py
文件吗?这个文件的作用是把文件夹变成可以被当作包使用的。还有,css/parse.py
里有没有一个叫 parse
的函数或者类?当你运行 test.py
时,你的 sys.path
里有什么内容?当前的工作目录是什么?这些问题都很重要,但你没有回答任何一个,所以我们很难给出具体的帮助!-)
这是一个关于css-py的Python 3版本。
你可以在这里下载它:http://ifile.it/v32n70s/css.zip
这里有几个我刚测试过的步骤。
说明文件上说需要使用Python 2.5,所以你需要安装Python 2.x系列的版本。
我创建了一个文件夹
C:/TEST/
我从 css-py的svn 下载了所有文件到
C:/TEST/
,所以现在C:/TEST/css/
和C:/TEST/uri/
文件夹都存在了。我下载了 ply的tar gz文件,并且只把 ply 文件夹解压到
C:/TEST/css/
,所以现在C:/TEST/css/ply/
文件夹也存在了。我在
C:/TEST/
创建了一个名为test.py
的文件,内容是:from css.parse import parse print dir(parse)
然后我运行了这个文件,结果是这样的,没有导入错误:
C:\TEST>test.py
['__call__', '__class__', '__closure__', '__code__', '__defaults__', '__delattr__', '__dict__', '__doc__', '__format__', '__get__', '__getattribute__', '__globals__', '__hash__', '__init__', '__module__', '__name__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'func_closure', 'func_code', 'func_defaults', 'func_dict', 'func_doc', 'func_globals', 'func_name']
希望这些对你有帮助。如果我的解释不太好,抱歉哦。