python setup.py学习

Python-setup进阶打包命令

Python-setup进阶打包命令_python setup-优快云博客 

 

  • packages 需要处理的包目录(包含__init__.py的文件夹),这里通常使用 find_packages(),它默认在和setup.py同一目录下搜索各个含有 __init__.py的包。

setup.py打包命令各参数详解:
>> python setup.py --help-commands

  --python setup.py build     # 仅编译不安装
  --python setup.py install    #安装到python安装目录的lib下
  --python setup.py sdist      #生成压缩包(zip/tar.gz)
  --python setup.py bdist  #生成平台安装包
  --python setup.py bdist_wininst  #生成NT平台安装包(.exe)
  --python setup.py bdist_rpm #生成rpm包
  --python setup.py bdist_wheel 生成wheel包
  --python setup.py egg_info # 单独生成egg_info信息

 

<think> 我们被要求解释如何使用`python setup.py`,这是一个用于安装、构建和分发Python包的传统命令。在回答后,必须按照规则提出3-5个相关问题,并以“§§相关问题§§”开头,然后列出问题。 注意:由于`setuptools`和`distutils`是构建Python包的核心工具,但近年来有了新的标准(如`pyproject.toml`),我们需要在回答中涵盖基本用法,并指出它正在被淘汰。 回答结构: 1. 解释`python setup.py`的基本用途。 2. 给出常见的命令(如install, build, sdist等)。 3. 注意:现在推荐使用`pip`进行安装,但了解`setup.py`仍有必要。 4. 简单示例代码(可选,由于问题要求,可以给出一个简单的setup.py文件示例)。 5. 最后,提出3-5个相关问题。 注意:由于用户可能已经遇到安装问题,因此提醒他们现代方法(如使用pip)可能更可靠。 </think> ### 如何使用 `python setup.py` 安装 Python 包? `python setup.py` 是传统的 Python 包安装方式,通过执行包的 `setup.py` 脚本来构建和安装。虽然现代开发更推荐使用 `pip`,但在某些场景仍需此方法。以下是核心操作指南: #### 基础用法 1. **安装包**(编译并安装到系统): ```bash python setup.py install ``` 2. **开发模式安装**(代码修改实时生效): ```bash python setup.py develop ``` 3. **生成源码分发包**: ```bash python setup.py sdist ``` 生成 `.tar.gz` 文件在 `dist/` 目录 4. **构建扩展模块**: ```bash python setup.py build_ext --inplace ``` #### 完整流程示例 假设包目录结构如下: ``` my_package/ ├── setup.py ├── my_module.py └── data/ └── config.ini ``` `setup.py` 基础模板: ```python from setuptools import setup, find_packages setup( name="my_package", version="0.1.0", packages=find_packages(), install_requires=["numpy>=1.18"], # 依赖声明 package_data={"": ["data/*.ini"]} # 包含数据文件 ) ``` #### 关键注意事项 1. **环境准备**: - 安装编译依赖:`pip install setuptools wheel` - C 扩展需要:GCC (Linux) 或 MSVC (Windows) 2. **替代方案建议**: ```bash # 优先使用 pip 安装 pip install . ``` 3. **操作限制**: - 不支持卸载(需手动删除文件) - 不记录元数据(无法用 `pip list` 管理) > **重要提醒**:Python 官方已弃用此方式(PEP 517/518),建议迁移到 `pyproject.toml` + `pip` 工作流。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值