python打包命令,使用命令行脚本打包python程序

本文介绍了Python项目打包时的目录结构和命名规则,强调了外部封闭文件夹应视为包,包含安装和说明文件,而模块文件夹代表可导入的模块。对于可执行文件,建议创建独立的程序包,并从安装的库中导入所需模块。正确的项目结构有利于代码组织和导入。
摘要由CSDN通过智能技术生成

我试图让我的宠物Python项目进入可发布的状态,但在打包时就很沮丧.

httplib2/

|

+--README.txt

|

+--setup.py

|

+--httplib2/

|

+--__init__.py

|

+--iri2uri.py

我不知道的是,如果我有一个运行程序脚本,即一个可执行的命令行程序,说foo,而我的项目名称是foo,那么我应该如何命名内部软件包目录?

举一个具体的例子,如果我有

README.md

LICENSE

somefile1.py

somefile2.py

foo

打包此内容的最佳方法是什么?

例如

+--README.md

|

+--LICENSE

|

+--foo

|

+--foo/

|

+--somefile1.py

|

+--somefile2.py

由于名称重复,因此无法使用.

解决方法:

你这样做是错的…

这是“应该”结构的样子

foo 1.0/

| +--README.txt

| +--setup.py

| +--foo/__init__.py

| +--foo/iri2uri.py

| +--foo/httplib2/__init__.py

| +--foo/httplib2/bar.py

将外部的封闭文件夹视为包装.这应该包括安装和说明文件LICENSE,README,MANIFEST,setup.py.包中的文件夹(在本例中为’/ foo’)是模块.

要访问上述所有功能,请使用以下导入语句:

import foo # represented by foo/__init__.py

import foo.iri2uri # represented by foo/iri2uri.py

import foo.httplib2 # represented by foo/httplib2/__init__.py

import foo.httplib2.bar # represented by foo/httplib/bar.py

从技术上讲,您可以选择将子模块包括为文件或文件夹.只有在子模块的子模块中才需要文件夹.

例如:

foo 1.0/

| +--/foo/iri2uri.py

| +--/foo/iri2uri/__init__.py

两者将以相同的方式解释.

例如:

import foo.iri2uri

刚开始时有些棘手,但是每个曾经为安装构建软件包的人都遇到了这种减速.

更新:我认为这可以更好地回答您的问题

对于可执行文件,您创建一个单独的程序包

无需安装程序,因为此代码不会被其他应用程序导入.

examples/

| +--/foo.py

它们应作为独立程序运行,并从您安装的库(foo)中导入必要的模块.

标签:release,command-line,packaging,python

来源: https://codeday.me/bug/20191201/2081061.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值