运行python setup.py install命令安装Python包时,最终的结果可以是Egg包(.egg)或Wheel包(.whl),具体取决于项目的配置和设置。
在早期阶段,Python项目通常使用Egg包作为分发的格式。Egg包是一种基于Python的打包格式,可以包含源代码、依赖项和其他资源。但是,随着时间的推移,Wheel包成为更为常见和推荐的分发格式。
Wheel包是一种二进制分发格式,它提供了更好的性能和安装速度。它可以包含预编译的二进制文件、C语言扩展模块和其他必要的资源。Wheel包的文件名以.whl作为扩展名。
在运行python setup.py install命令时,如果项目配置为生成Egg包,那么安装过程将生成Egg包并将其安装到Python环境中。如果项目配置为生成Wheel包,那么安装过程将生成Wheel包并将其安装到Python环境中。
通常情况下,现代的Python项目会更倾向于使用Wheel包进行分发和安装,因为它具有更好的性能和跨平台性。
hello.py
def hello_fun(): print "i say hello to you"
setup.py
from distutils.core import setup setup( name="hello_module", version="1.0", author="ljk", author_email="wilber@sh.com", py_modules=['hello'], )
printtest.py
def test(): print('print test')
from setuptools import setup setup(name='printtest', version='1.0', py_modules=['printtest'], )
python setup.py sdist python setup.py bdist_wheel python setup.py bdist_egg
https://www.cnblogs.com/wuzhiblog/p/python_make_egg_or_whl.html
(base) ➜ 01 tree dist dist ├── printtest-1.0 │ ├── build │ │ ├── bdist.linux-x86_64 │ │ └── lib │ │ └── printtest.py │ ├── dist │ │ └── printtest-1.0-py3.8.egg │ ├── PKG-INFO │ ├── printtest.egg-info │ │ ├── dependency_links.txt │ │ ├── PKG-INFO │ │ ├── SOURCES.txt │ │ └── top_level.txt │ ├── printtest.py │ ├── __pycache__ │ │ └── printtest.cpython-38.pyc │ ├── setup.cfg │ └── setup.py └── printtest-1.0.tar.gz
python setup.py install
直接在setup.py的同目录放置一个setup.cfg:
[easy_install] index_url = https://pypi.tuna.tsinghua.edu.cn/simple
import printtest printtest.test()
https://www.jb51.net/article/180223.htmhttps://www.jb51.net/article/138538.htm