我正在尝试创建我的第一个python包。很遗憾我遇到了一些错误。我只是想定义一些应该是可导入的类。在
这是我的文件夹结构
/pip-blitz-query
/blitzjs_query
__init__.py
blitz.py
blitz_http.py
...
setup.py
下面是我试图从blitzjs_query
导入类Blitz
时发生的错误:
这是我的__init__.py
文件:
最后是我的setup.py
文件。我尝试过__init__.py
文件的不同变体,有些甚至什么都没有——但它永远都不起作用
# Always prefer setuptools over distutils
from setuptools import setup, find_packages
# To use a consistent encoding
from codecs import open
from os import path
# Get the long description from the README file
here = path.abspath(path.dirname(__file__))
with open(path.join(here, 'README.rst'), encoding='utf-8') as f:
long_description = f.read()
setup(
name='blitzjs_query',
version='0.0.2',
description='HTTP/Socket.io adapter for the blitz.js framework',
long_description=long_description,
url='https://github.com/nexus-devs/pip-blitz-query',
author='Nexus Devs',
author_email='nexus@nexus-stats.com',
license='MIT',
classifiers=[
'Development Status :: 1 - Planning',
'Intended Audience :: Developers',
'Topic :: Internet :: WWW/HTTP',
'License :: OSI Approved :: MIT License',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.3',
'Programming Language :: Python :: 3.4',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
],
keywords='development blitz nexus socket.io http',
packages=find_packages(),
install_requires=['pymitter', 'socketIO-client', 'promise', 'requests'],
)
您的模块名为
blitzjs_query
,因此在所有导入的前面加上blitzjs_query.
像这样:
通常使用相对导入(在子模块前面加上一个或多个
.
):因为您不创建名为
blitz
的模块,而只创建了一个名为blitz
的模块。在有关相对和绝对导入的详细信息,请参阅PEP 328:
相关问题 更多 >
编程相关推荐