首页 > 解决方案 > 无法使用 PyPi 正确发布模块

问题描述

我正在尝试将我的模块发布到 PyPi,但我遇到了麻烦。它发布,我可以通过 Pip 安装它,但我似乎无法找出正确的导入语句来实例化我的类。

这是我的setup.py文件,代码位于discord_webhooks.py同一目录中。这是已发布的包

from setuptools import setup, find_packages

long_description = open('README.md').read()

    setup(
      name='Discord Webhooks',
      version='1.0.1',
      packages=find_packages(exclude=['tests', 'tests.*']),
      url='https://github.com/JamesIves/discord-webhooks',
      author='James Ives',
      author_email='iam@jamesiv.es',
      description='Easy to use package for Python which allows for sending of webhooks to a Discord server.',
      long_description=long_description,
      license='MIT',
      install_requires=[
        'requests==2.20.0'
      ],
      classifiers=[
        'Programming Language :: Python :: 3'
      ],
    )

我已经尝试过import DiscordWebhooks,并且from discord_webhooks import DiscordWebhooks在做了之后,pip install discord-webhooks但似乎都没有工作。任何帮助,将不胜感激!

标签: pythonpypi

解决方案


我自己设法解决了这个问题。由于这是一个单文件模块,我需要py_modules在文件内部使用setup.py

这是更新的文件:

from setuptools import setup, find_packages

long_description = open('README.md').read()

setup(
  name='Discord Webhooks',
  version='1.0.3',
  py_modules=['discord_webhooks'],
  url='https://github.com/JamesIves/discord-webhooks',
  author='James Ives',
  author_email='iam@jamesiv.es',
  description='Easy to use package for Python which allows for sending of webhooks to a Discord server.',
  long_description=long_description,
  license='MIT',
  install_requires=[
    'requests==2.20.0'
  ],
  classifiers=[
    'Development Status :: 5 - Production/Stable',
    'Environment :: Other Environment',
    'Intended Audience :: Developers',
    'License :: OSI Approved :: MIT License',
    'Programming Language :: Python :: 3',
    'Programming Language :: Python :: 3.6',
  ],
)

推荐阅读