回购位置:https://github.com/willkara/SakaiPy
所以我有了我正在创建的python模型。它目前的结构是:
SakaiPy
├── SakaiPy
│ ├── __init__.py #1
│ └── RequestGenerator.py
├── SakaiTools
├── __init__.py #2
├── Assignment.py
├── Announcement.py
└── ...etc.py
└── setup.py
init.py\1看起来像:
^{pr2}$init.py\2为空
我的设置.py看起来像:
version='1.0',
description='Python interface to the Sakai RESTful API\'s',
license='MIT',
author='William Karavites',
author_email='wkaravites@gmail.com',
url='https://github.com/willkara/SakaiPy',
packages=['SakaiPy','SakaiPy/SakaiTools'],
requires={
"mechanize",
"cookielib",
"requests",
"simplejson"}
)
我的问题是模块的构建似乎不正确。在
当我尝试像这样使用模块时:
#!/usr/bin/python
# -*- coding: utf-8 -*-
from SakaiPy import *
print "hello"
authInfo={}
authInfo['baseURL'] =""
authInfo['loginURL']=""
authInfo['username']=""
authInfo['password']=""
rq = RequestGenerator.RequestGenerator(authInfo)
我得到这个错误:
Traceback (most recent call last):
File "../sakaiTest.py", line 14, in <module>
rq = RequestGenerator.RequestGenerator(authInfo)
NameError: name 'RequestGenerator' is not defined
我猜是我的设置.py和init.py脚本设置不正确。在
您需要更改目录结构,因为现在技术上有两个Python模块,并且您给
setuptools
一个不正确的包路径。为了获得您要查找的路径,您需要将SakaiTools
目录嵌套在SakaiPy
目录中。有了这个,您应该能够拥有您正在寻找的导入,并且您可以像您看起来试图做的那样,将SakaiTools
作为SakiPy.SakaiTools
导入。在这将为您提供一个以
SakaiTools
作为子模块的单个模块,这听起来像您正在寻找的。您将需要从第一个__init__.py
删除您的SakaiTools
导入,因为您可以通过这个设置很好地访问这些导入。在如果您希望保留两个不同的模块,则需要告诉
^{pr2}$setuptools
您有两个不同的模块。在相关问题 更多 >
编程相关推荐