我的代碼中有一些python模塊/包的用法上的困難。該代碼是在這裏:https://github.com/cjlano/svg在包中使用python模塊
.
└── svg
├── geometry.py
├── __init__.py
├── LICENSE
├── README.md
├── svg.py
├── svg.test.py
└── tests
└── [...]
在模塊svg
我需要使用該模塊geometry
。由於所有代碼在的開頭都不存在,因此我決定將整個geometry
命名空間導入svg(from geometry import *
)。
我的問題是,當我從我的包導入svg
模塊,它運作良好,在python2但在python3失敗:
Python 2.7.5 (default, Sep 6 2013, 09:59:46)
[GCC 4.8.1 20130725 (prerelease)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from svg import svg
>>> help(svg)
讓我獲得了svg
模塊文檔。而
Python 3.3.2 (default, Sep 6 2013, 09:35:59)
[GCC 4.8.1 20130725 (prerelease)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from svg import svg
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "./svg/svg.py", line 27, in <module>
from geometry import *
ImportError: No module named 'geometry'
在導入時給出錯誤。
關於如何編寫我的代碼在python3中可用的任何想法?
謝謝!
對於Python2,需要'from __future__ import absolute_import' – CJlano
好的,謝謝,我相應地更新了我的答案。 –