# pip包制作教程 **Repository Path**: Jasonsey/pip_package_making_tutorials ## Basic Information - **Project Name**: pip包制作教程 - **Description**: No description available - **Primary Language**: Python - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2018-03-30 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 制作pip安装包方法 ## 制作软件包 1. 目录结构 ```Shell . ├── fuckpip │   ├── __init__.py │   └── test.py └── setup.py ``` 2. setup.py文件内容 * 用pip install fuckpip后,会在终端中增加两个命令: * fuck:执行对应的fuck函数 * love:执行对应love函数 ```Python #!/usr/bin python # coding: utf-8 from setuptools import setup setup( name='fuckpip<上传到pypi后的包名>', version='1.0.1<版本号>', author='2627866800<作者名字,自定义>', author_email='2627866800@qq.com<作者邮箱,自定义>', url='https://test.fstljx.com<源码仓库地址>', description=u'测试pip安装包<简单描述>', packages=['fuckpip']<这个工程中需要包含的源码包>, install_requires=[]<需要安装的依赖包>, entry_points={ 'console_scripts': [ 'fuck=fuckpip.test:fuck', 'love=fuckpip.test:love' ] } ) ``` 3. test.py文件内容 * 安装完这个包之后只要在命令行中输入: ```Shell $ fuck fuck $ love love ``` * 源码: ```Python #!/usr/bin python # coding: utf-8 def fuck(): print('fuck') def love(): print('love') ``` ## 打包上传文件 1. 打包文件 ```Shell $ python setup.py sdist ``` 2. 上传文件 ```Shell $ pip install twine $ twine upload dist/* Uploading distributions to https://upload.pypi.org/legacy/ Enter your username: 2627866800 Enter your password: **** Uploading fuckpip-1.0.1.tar.gz 100%|████████████████████████████████████████████████████████████| 3.54k/3.54k [00:00<00:00, 3.68kB/s] ``` 3. 安装程序包 ```Shell $ pip install -i https://pypi.python.org/simple fuckpip ``` * -i :代表从哪个仓库下载安装包 * 由于pycharm采用了缓存机智,所以不能实时获取到远程最新的安装包 * 由于系统的pip文件修改成了阿里云pip源,所以也默认不是最新的仓库 * 综合以上,需要加上 -i 参数来保证安装的是 pypi 官方镜像库