笨方法学Python练习46:一个项目的骨架

本文介绍了在Debian系统中创建Python项目的基本步骤,包括使用`mkdir`和`touch`命令创建目录和文件,编写`setup.py`文件,特别强调了`data_files`选项在打包包含额外资源文件时的作用。还提到了`setup.py`的其他功能,并给出了在Linux和Windows下打包的命令。文章最后列举了一些用于测试和安装Python包的工具,如pip、distribute、nose和virtualenv。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

操作环境:Debain ×64
常见liunx命令大全:http://blog.youkuaiyun.com/pony_kinght/article/details/78510168

建立骨架内容

~ $ mkdir -p projects
~ $ cd projects/
~/projects $ mkdir skeleton
~/projects $ cd skeleton
~/projects/skeleton $ mkdir bin NAME tests docs

mkdir dir –创建目录
mkdir -p dir –创建递归目录

参数P代表parents,表示递归创建目录。
列如:
如果要创建目录A并创建目录A的子目录B,没有用-p的情况下是mkdir 2次
如果用-p 可以直接创建2个目录 mkdir -p 目录A/子目录B就可以。

cd file_name –打开文件

配置初始文件

~/projects/skeleton $ touch NAME/__init__.py
~/projects/skeleton $ touch tests/__init__.py

touch file_name –创建文件

建立setup.py
touch setup.py

try:
    from setuptools import setup
except ImportError:
    from distutils.core import setup
config = {
    'description': 'My Project',
    'author': 'My Name',
    'url': 'URL to get it at.',
    'download_url': 'Where to download it.',
    'author_email': 'My email.',
    'version': '0.1',
    'install_requires': ['nose'],
    'packages': ['NAME'],
    'scripts': [],
    'name': 'projectname'
}
setup(**config)

从setuptools 导入 setup, 然后编写 setup()函数,这个函数里面有相当多的属性,比如version 代表版本号,description 是描述文档,author是作者等,如果是正规的开发,所有这些东西都应该按照规范去写。其中比较重要的几个选项是:
name,表示模块的名称
packages,表示包所在的目录

其他还有很多写法,这篇博文总结的很好,http://www.cnblogs.com/UnGeek/p/5922630.html,需要的朋友可以参考下。

有的时候我们写的代码需要引入一些额外的信息文件,比如文本文件,或者图片,说明文件等等,这些东西是需要一块打包的,那么这个时候该如何指定呢?此时需要用到 data_files 这个选项了。data_files的写法是:data_files= [(‘文件要放入的文件夹1’,[‘file1’,file2’]),(‘文件要放入的文件夹2’,[‘file3’,file4’])],file1,file2等是文件的名称,注意data_files的元素都是元组,元组的第一个元素是文件要放入的文件夹名称,第二个元素是文件列表。这里需要注意的是,如果不想把文件放入文件夹,可以将元组的第一个元素指定为空字符串,此时要打包的文件要被放入根目录,这里根目录是指python解释器所在的目录。比如我需要将文件资源放入python解释器所在目录下的/Lib/site-packages/myfolder路径,myfolder是自定义的文件夹,元组的第一个元素就可以写‘Lib/site-packages/myfolder’,打包时会自动在指定位置新建一个名为myfolder的目录,将文件资源放入其中。

其实 setup.py 文

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值