自己的python包发布经验

本文分享了作者在发布Python包过程中遇到的问题及解决方法,包括在PyPI注册账号、创建.pypirc文件、设置package_data参数以包含非py文件,以及如何在代码中读取包内文本文件的技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


以下经验是建立在上述参考文件之上的。


有几点经验:
1, 在 https://pypi.python.org/pypi 注册一个账号, 我的是seefeel.
(Server response (410): Project pre-registration is no longer required or supported, so continue directly to uploading files. )
以上报错是说,不需要用
$python setup.py register

2, 创建文件  $ vim ~/.pypirc   (Upload failed (403): Invalid or non-existent authentication information.)
[distutils]
index-servers =
    pypi

[pypi]
repository: https://upload.pypi.org/legacy/
username: seefeel  

3,如果需要打包除了py之外的文件,在setup.py中需要增加 package_data 参数
from setuptools import setup

setup(name='seefeel',
      username='seefeel'
      version='0.1',
      description='utils for text preprocess',
      url='https://github.com/LeslieFire/seefeel',
      author='seefeel',
      author_email='249893977@qq.com',
      license='MIT',
      packages=['seefeel'],
      package_dir={'seefeel': 'seefeel'},
      package_data={'seefeel':['*.*', 'seefeel/*']},
      zip_safe=False)

4,如果需要读取package内的文本文件,比如stop_words.txt,有一个方法比较好用
import os

get_module_res = lambda *res: open(os.path.normpath(os.path.join(
                            os.getcwd(), os.path.dirname(__file__), *res)), 'r')

STOP_WORDS_PATH = 'stop_words.txt'

def stop_words():
    words = [ line.strip() for line in get_module_res(STOP_WORDS_PATH)]
    return set(words)

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值