自己的python包發布經驗
來源:互聯網
上載者:User
主要參考: https://python-packaging.readthedocs.io/en/latest/minimal.html
以下經驗是建立在上述參考檔案之上的。
有幾點經驗:
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)