如果你有一个Python项目需要分发出去,但这个项目用了一些第三方库,而你又不想使用你这个项目的用户自行去安装这些库,这时候就很有必要将这些Python库打包到你的项目中了。
下面以Faker这个库举例。
1. 下载库源码: https://pypi.python.org/pypi/Faker
2. 安装库源码: python /path/to/Faker/setup.py install
3. 找到egg文件目录: /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Faker-0.1.4-py2.7.egg
如何找到该egg文件目录?根据第2步安装时的log输出,最后一行会显示安装到了哪里
4. 拷贝该egg到你的项目某一目录下(该目录必须为包),假设为这样的目录: /path/to/your/project/libs/Faker-0.1.4-py2.7.egg。
你需要在libs的__init__.py中加入这样一行:
sys.path.append(os.path.join(os.path.dirname(__file__), Faker-0.1.4-py2.7.egg))
然后在你项目的其他地方,只要保证libs/__init__.py被调用(比如 import libs),你就可以直接使用这个库了。
用的方式就假定装了这个库一样使用: from faker import Faker
为了验证是否生效,你可以把第2步中装好的库卸载了(直接删除egg文件即可)。
大功告成!