TL; DR :Yampy使用相对导入...是否有一些我可以更改的设置可以使其按原样运行(无需重构项目中的每个import
)?
Windows 7,Python 3.4.3,PyCharm 2016.1.4,Yampy 1.0
应该是一个相当简单的问题 - 希望有人之前遇到过这个问题。我正在关注quickstart guide。一年前有人问the same question信息较少,但没有答案。
我创建了一个virtualenv,激活并安装了yampy。这导致下面的导入错误,所以我卸载并再次安装:
(MyVenv) C:\Users\me>pip install yampy
Collecting yampy
Using cached yampy-1.0.tar.gz
Requirement already satisfied (use --upgrade to upgrade): requests in c:\virtual environments\myvenv\lib\site-packages (from yampy)
Installing collected packages: yampy
Running setup.py install for yampy ... done
Successfully installed yampy-1.0
创建了以下目录:
__init_ _.py的内容:
"""
The official Python client for Yammer's API
"""
from authenticator import Authenticator
from client import Client
from yammer import Yammer
问题:
当我在python shell中import yampy
时,我得到以下回溯(这来自PyCharm shell,但在命令行shell中也是一样的问题):
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "C:\Program Files (x86)\JetBrains\PyCharm 2016.1\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line 21, in do_import
module = self._system_import(name, *args, **kwargs)
File "C:\Virtual Environments\myvenv\lib\site-packages\yampy\__init__.py", line 22, in <module>
from authenticator import Authenticator
File "C:\Program Files (x86)\JetBrains\PyCharm 2016.1\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line 21, in do_import
module = self._system_import(name, *args, **kwargs)
这对我没有任何意义,因为一切似乎都在那里。谢谢!
更新:
如果我将_init _文件更改为使用绝对导入(from yampy.authenticator import ..
而不是from authenticator import..
),它会立即解决问题,但会在整个项目中创建一系列导入错误。是否有一些我可以改变的设置需要最少的重构?
答案 0 :(得分:2)
应该首先检查GitHub:自2015年2月以来已经开放了open issue。显然该项目是在Python 2中。试图分叉并更新到Python 3 ..
更新:手动进行更改,大约需要5分钟。现在进口!
更新更新:Anthony Shaw(Github上的tonybaloney)发布了a package for Python 3 yampy3
。