我正在尝试在python中为pypi创建一个库,所以我创建了setup.py文件。
我在查看了一些教程之后上传了它,但是当我尝试通过pip install pyravendb
安装它时,我只得到一个空文件夹。
试图直接从python setup.py install.
安装
再次只得到一个pyravendb空文件夹。
我的setup.py文件
from distutils.core import setup
setup(
name='pyravendb',
packages=['pyravendb'],
version='1.0.1',
description='This is the official python client for RavenDB document database',
author='Idan Haim Shalom',
author_email='my email',
url='https://github.com/IdanHaim/RavenDB-Python-Client/',
download_url='https://github.com/IdanHaim/RavenDB-Python-Client/tarball/1.0.1',
keywords='ravendb pyravendb database',
license='GNU',
requires=
[
'pycrypto',
'requests',
'Inflector'
],
zip_safe=False,
)
答案 0 :(得分:1)
您的项目似乎具有以下结构:
pyravendb/
connection/
custom_exceptions/
d_commands/
data/
hilo/
store/
tests/
tools/
将setup.py文件添加到项目根文件夹,然后更改packages
以包含要包含在分发中的每个模块/文件夹。您可以显式声明要打包的所有模块,如下所示:
packages=[
'pyravendb',
'pyravendb.connection',
'pyravendb.custom_exceptions',
'pyravendb.d_commands',
'pyravendb.data',
'pyravendb.hilo',
'pyravendb.store',
# and so on....
],
或者,您可以使用setuptools
并导入find_packages
,然后使用packages=find_packages(),
自动使用目录中的所有包。
答案 1 :(得分:0)
好的,我找到了正确的答案。就像PRNDL建议的那样,但工作量少了一点。
from setuptools import setup, find_packages
并在包中添加find_packages()方法以查找我的所有包
setup(
name='pyravendb',
packages=find_packages(),
因为我的项目结构有多个子目录包,所以我必须在setup.py中包含所有这些,这就是为什么我的第一次尝试失败了。 如上所述解决了我的问题而没有写下我所有的包名