打包和上传依赖wheel和twine这两个包。
比方说我们想写这样一个包,这个包只有一个功能,那就是打印程序员佛祖字符画。
这个包就提供了一个佛祖字符画和一个打印函数。
__main__.py 让这个包可以被 python -m 直接运行,而 __main__.py 其实也就只干了一件事,那就是调用 print_buddha 打印字符画。
打包项目你需要学习以下知识
加星的是必须的,其他的可有可无不影响打包和上传PyPi,就是不规范而已。
最基本的 setup.py
然后我们试一下打包:
这是个组合命令,意思是先打sdist,再打bdist_wheel。
sdist打出来的是tar.gz格式压缩包,里面就是包源文件,可以供直接解压然后 python setup.py install 安装。
bdist_wheel打出来的是whl格式文件,这是pip官方安装包文件格式。
注意:egg格式已经过时了,现在PyPi的包都是用whl格式。
PiPy上传规范是同时要tar.gz和whl两个格式的包。
注意:打了星的是必须参数
描述性参数只是作为PKG_INFO用的,没有什么特殊作用,就是描述用的,用来供pip和PyPi管理的,因此看上面就可以了。
setup.py 需要提供以上参数数据用来搜集需要打到包里的文件:
注意:打了星的是重要参数
根据上面的说明,我们来演练一下。首先项目要做些修改和添加一些功能。
接着修改setup.py:
注意: data_files 、 scripts 这两个参数不享受 package_dir 的效果,必须指定根目录下相对路径。
打包看看:
试一下安装:
我们去PYTHON_HOME看看我们的包被安装到哪里。
我袜凯们的包各种文件都被安装到了我们想要的位置。
试一下命令行调用 buddha.bat :
python里导入 buddha 模块:
python里导入 single_module 模块:
例子:
更加详细的说明可以去参考官方文档《 setuptools documeng: Building and Distributing Packages with Setuptools 》
到 PyPi 官网注册一个账号,通过各种验证通。
将dist下的tar.gz和whl文件上传到PyPi。
会提示输入用户名密码,照着做就告凳唤行。
上传成功后就会出现在PyPi和你的项目页里。
你无法重新上传覆盖版本,所粗贺以如果你的包有bug或者有修改,你必须修改setup.py里的version,然后再打一次包上传。
具体 *** 作步骤如下:
1、首先进入linux命令模式,可以按快捷键ctrl+alt+t打开终端,在命令输入python命令,查看并确认系统安装python版本为最稿运磨低为2.7以上。
2、接着在命令窗口输入命令pip加软件包名的方式安装,这里比如安装Tensorflow,直接输入pip install 文件名.whl即可,这里upgrade参数是获取最新的tensorflow的whl安装文件,如果是本地文件可以不加,之后键斗回车确定安装。
3、最后安装完成后,在命令行输入python进入python命令悄判行模式界面,输入“import tensorflow”不报错就说明安装成功了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)