python将项目文件打包发布的脚本(保留原来的项目结构)

__author__ = 'wei'
# -*- coding: utf-8 -*-

__author__ = 'wei'

import getopt
import sys
import os
import py_compile


def setparams():
    global srcpath,pycpath
    ps=getopt.getopt(sys.argv[1:], '', ['srcpath=', 'pycpath='])
    psdict=dict(ps[0])
    if '--srcpath' in psdict:
        srcpath=psdict['--srcpath']
    else:
        srcpath=input('请输入源文件夹:')
    if '--pycpath' in psdict:
        pycpath=psdict['--pycpath']
    else:
        pycpath=input('请输入目标pyc文件夹:')


if __name__=='__main__':
    srcpath=''
    pycpath=''
    setparams()
    print(srcpath)
    for root,dirs,files in os.walk(srcpath):
        for file in files:
            if file[-3:]=='.py':
                pyname=root+os.path.sep+file
                pycname=pyname.replace(srcpath,pycpath)+'c'
                pycdir=pycname.replace(file+'c', '')
                if not os.path.exists(pycdir): #if not exist dir,create it
                    os.mkdir(pycdir)
                print(pyname,pycname)
                py_compile.compile(pyname,cfile=pycname)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Python 中,你可以使用 `setuptools` 和 `distutils` 两种工具来打包文件项目。这里以 `setuptools` 为例进行说明。 `setuptools` 是一个 Python 包管理工具,可以帮助你将 Python 项目打包成可分发的源码或二进制包。以下是使用 `setuptools` 打包文件项目的步骤: 1. 确保你的项目目录结构正确。一个典型的 Python 项目目录结构如下: ``` myproject/ setup.py README.md LICENSE myproject/ __init__.py module1.py module2.py subpackage/ __init__.py module3.py module4.py ``` 其中,`setup.py` 是打包脚本,`myproject` 是包的名称,`__init__.py` 是一个空文件,用于标识该目录为 Python 包。 2. 在 `setup.py` 中编写打包脚本。以下是一个简单的示例: ```python from setuptools import setup, find_packages setup( name="myproject", version="0.1", description="My project description", packages=find_packages(), install_requires=[ "numpy", "pandas", "matplotlib" ], entry_points={ "console_scripts": [ "myproject=myproject.cli:main" ] } ) ``` 在这个脚本中,我们使用 `setuptools` 提供的 `setup()` 函数来配置打包信息。其中,`name` 是包的名称,`version` 是包的版本号,`description` 是包的描述,`packages` 是包含所有 Python 模块的列表,`install_requires` 是依赖项列表,`entry_points` 是命令行入口点的字典。在这个例子中,我们定义了一个名为 `myproject` 的命令行工具。 3. 执行打包命令。在项目根目录下,执行以下命令: ``` python setup.py sdist bdist_wheel ``` 这个命令会生成源码包(`.tar.gz` 或 `.zip`)和二进制包(`.whl`)。 4. 分发你的包。你可以将生成的包上传到 PyPI 或自己的私有仓库中,供其他人使用。如果你打算上传到 PyPI,可以使用 `twine` 工具进行上传: ``` pip install twine twine upload dist/* ``` 这个命令会将 `dist` 目录下的所有包上传到 PyPI。 以上就是使用 `setuptools` 打包文件项目的基本步骤。需要注意的是,打包时应该排除不必要的文件,例如测试文件和文档文件。你可以在 `setup.py` 中使用 `exclude` 参数来排除这些文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱知菜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值