怎么让自己写的代码容易使用
使用setuptools能让事情事半功倍,首先我们的代码,如果都是python写的,假设放在code文件夹里,我们需要在code里面放一个__init__.py文件,然后在code外一层的文件夹下创建setup.py文件,最为简单的内容如下:
from setuptools import setup
setup(
name = 'MyTools', # 应用名
version = '0.1', # 版本号
packages = ['code'] # 包括在安装包内的python包
)
packages中需要传入的是包含有__init__.py的文件夹路径,一个包含__init__.py的文件夹被认为是一个python包
可以使用 find_package(include=XXX, exclude=XXX )来自动寻找包,它会返回包含__init__.py的当前路径下的所有包,并返回给packages
更多的语法细节可以参考博客:https://www.cnblogs.com/gqtcgq/p/7247101.html
最后,简单的写好了这个代码后,可以使用python setup.py build来获得安装准备文件:
这样会在当前文件夹下额外生成:
(1)MyTools.egg-info: egg相关文件,包含了包的依赖等等消息
(2)build: 这个是build后生成的文件,如果你的代码有C的,它生成的so文件也在这里
(3)dist: 这里是版本信息
安装自己的包
python setup.py install
这样我们的包就会被安装到本地用户的隐藏路径下,它也在当前的anaconda的env环境中。可以通过conda list查看到。
例如我安装的一个库的路径:
/home/robin/.local/lib/python3.6/site-packages/deep_hough-0.0.0-py3.6-linux-x86_64.egg