Python 为什么setup.py由pip执行两次?

Python 为什么setup.py由pip执行两次?,python,pip,setuptools,Python,Pip,Setuptools,考虑一个非常简单的setup.py: from setuptools import setup, find_packages print('WAAAAAAAAA') # executed twice! setup( name="foo", version="190425", description="bar", author="Developers", author_email="me@domain.com", install_requires

考虑一个非常简单的
setup.py

from setuptools import setup, find_packages

print('WAAAAAAAAA') # executed twice!

setup(
    name="foo",
    version="190425",
    description="bar",
    author="Developers",
    author_email="me@domain.com",
    install_requires=["pyzmq", "pybullet"],
    packages=find_packages(),
)

为什么在运行
pip安装时模块会加载两次-v
我可以做些什么来保护代码,使其在每次调用
pip
时只运行一次,就像
setup()

答案是
pip安装。
执行
setup.py
两次(详细的输出实际上是这样说的)因为它先执行
egg\u info
子命令,然后执行
install
子命令


一个可能的解决方案是检查sys.argv[1]=“install”,然后执行所需的任何操作。

您看到的哪些行为使您认为此模块执行了两次?