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

转自:https://www.cnblogs.com/smileyes/p/7657591.html

背景: 利用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

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

再次查看文件结构如下:

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权限执行即可。

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

执行

 

 

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

 

  • 12
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
好的,这是一个比较复杂的问题,需要分步骤来解答。 首先,我们需要在本地搭建一个PyPI服务器,以便我们能够将自己Python代码打包,并能够在其他地方下载使用。在这里,我们可以使用Docker Compose来快速搭建一个PyPI服务器。 以下是搭建PyPI服务器的步骤: 1. 创建一个文件夹,用于存放Docker Compose配置文件和PyPI服务器的数据。在这里,我们假设这个文件夹的路径为 `/path/to/pypi`。 2. 创建一个名为 `docker-compose.yml` 的文件,并将以下内容复制进去: ```yaml version: "3.8" services: pypi: image: pypiserver/pypiserver:latest volumes: - ./data:/data ports: - "8080:8080" ``` 这个配置文件定义了一个名为 `pypi` 的服务,使用 `pypiserver/pypiserver:latest` 镜像来启动PyPI服务器。我们将 `/data` 文件夹挂载到了容器内部的 `/data` 目录,以便保存PyPI服务器的数据。我们还将容器的 `8080` 端口映射到了主机的 `8080` 端口,以便我们能够通过浏览器访问PyPI服务器。 3. 在 `/path/to/pypi` 文件夹中创建一个名为 `data` 的文件夹,用于保存PyPI服务器的数据。 4. 运行 `docker-compose up -d` 命令启动PyPI服务器。 现在,我们已经成功搭建了一个PyPI服务器。接下来,我们需要将自己Python代码打包成包,并上传到PyPI服务器上。 以下是打包并上传Python包的步骤: 1. 在你的Python代码所在的文件夹中创建一个名为 `setup.py` 的文件,并将以下内容复制进去: ```python from setuptools import setup, find_packages setup( name="your-package-name", version="0.1.0", packages=find_packages(), install_requires=[ # List your dependencies here ], entry_points={ 'console_scripts': [ # List your console scripts here ] } ) ``` 在这个文件中,你需要将 `your-package-name` 替换成你的Python包的名称,并在 `install_requires` 中列出你的包的依赖项。 2. 在你的Python代码所在的文件夹中创建一个名为 `README.md` 的文件,并将你的包的描述信息在里面。 3. 在你的Python代码所在的文件夹中运行以下命令打包你的Python代码: ``` python setup.py sdist ``` 这个命令会在当前文件夹下创建一个名为 `dist` 的文件夹,并将打包好的Python包保存在里面。 4. 在 `dist` 文件夹中运行以下命令,将你的Python包上传到PyPI服务器: ``` twine upload --repository-url http://localhost:8080/ dist/* ``` 这个命令会将 `dist` 文件夹中的所有文件上传到PyPI服务器。注意,我们使用了 `http://localhost:8080/` 作为PyPI服务器的URL,因为我们搭建的是本地PyPI服务器。如果你使用的是其他的PyPI服务器,需要将这个URL替换成相应的地址。 现在,你已经成功将自己Python代码打包成包,并上传到了PyPI服务器上。其他人可以通过运行以下命令来安装你的包: ``` pip install your-package-name ``` 请注意,其他人需要先将你的PyPI服务器添加到他们的pip配置文件中,以便能够下载你的包。他们可以通过在他们的 `~/.pip/pip.conf` 文件中添加以下内容来实现: ``` [global] index-url = http://localhost:8080/simple ``` 这个配置文件会将你的PyPI服务器添加到pip的软件源中,以便其他人可以通过pip下载你的包。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值