python如何将自己写的代码打包供他人使用(写setup和打包)

背景: 利用setuptools来实现,所以先安装setuptools,其实Python2.7.9及之后的版本都自带安装setuptools了,无需在另外安装

如果没有安装setuptools的直接下载源码包解压安装就行了

示例:以linux环境为例

1.创建文件

创建文件结构如下:

setuptools_demo/
├── pkDemo
│   └── __init__.py
└── setup.py

setup.py内容如下:

from setuptools import find_packages,setup
setup(
    name = 'pkDemo',
    version = '0.1',
    packages = find_packages(),
)

__init__.py的内容如下:

#!/usr/bin/env python

#-*- coding:utf-8 -*-

def demo():

      print "This is a demo package!"

if __name__ == '__main__':

      demo()

2.执行打包命令

cd setuptools_demo
python setup.py bdist_egg

出现如下界面说明打包成功了

python如何将自己写的代码打包供他人使用(写setup和打包)

再次查看文件结构如下:

python如何将自己写的代码打包供他人使用(写setup和打包)

3.执行命令安装包

在当前路径下执行包安装命令:
python setup.py install

如果报错:

error: [Errno 13] Permission denied: '/usr/local/lib/

处理方法:

在ubuntu系统下使用pip 命令安装包时,出现以下类似错误提示:

error: [Errno 13] Permission denied: '/usr/local/lib/python2.7/dist-packages/    

那么,要用root权限,可以用sudo表示用root权限执行,在命令前面加sudo命令

 

这种错误是因为权限问题,可用sudo命令即root权限执行即可。

出现如下界面说明安装成功了

python如何将自己写的代码打包供他人使用(写setup和打包)

执行

 

 

4.导入包并使用

python ----------------------------------------------------

Python 2.7.12 (default, Sep 1 2016, 22:14:00) [GCC 4.8.3 20140911 (Red Hat 4.8.3-9)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import pkDemo >>> pkDemo.demo() This is a demo package!

 

完美~~

5.卸载安装的包

删除指定的模块或者包, 用如下命令:

pip uninstall xxx  如:pip uninstall pycurl