模块导入路径

时间:2009-11-22 04:45:40

标签: python import path module

我无法测试我想要使用的cssparser。

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 个答案:

答案 0 :(得分:4)

以下是我刚测试过的几个步骤。

  • readme说它的python 2.5,所以你需要python 2.x系列

  • 我创建了一个文件夹C:/TEST/

  • 我已将所有文件从css-py svn下载到C:/TEST/,因此现在存在C:/TEST/css/C:/TEST/uri/个文件夹。

  • 我已下载ply's tar gz file并将 ply文件夹解压缩到C:/TEST/css/,因此现在存在C:/TEST/css/ply/文件夹。

  • 我已使用内容

    test.py中创建了C:/TEST/
    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']

希望这会有所帮助。抱歉,如果我的解释不好。

答案 1 :(得分:2)

您是否在__init__.pycssparser目录中有css个文件,将目录转换为包?是否有css/parse.py个文件,其中包含一些名为parse的函数或类?当您执行sys.path时,test.py上的内容以及当前目录是什么?所有这些问题可能都很重要,你给我们的答案都没有,所以很难得到任何具体的帮助! - )

答案 2 :(得分:2)

python 3版本的css-py

http://ifile.it/v32n70s/css.zip

答案 3 :(得分:0)

您的css/是否有__init__.py

答案 4 :(得分:0)

请勿调用您自己的文件css.py。将其命名为其他内容,例如css_test.py。同时删除css.pyc文件。