Python 在setup.py中执行pip目标和安装后操作

Python 在setup.py中执行pip目标和安装后操作,python,pip,setup.py,Python,Pip,Setup.py,今天,在我的包(一个python轮子)通过带有-t--target选项的pip安装之后,我尝试删除一个文件。 我在setup.py中对install进行子类化,如下所示: class PostInstallCommand(install): """Post-installation for installation mode.""" def run(self): install.run(self) # here I am using

今天,在我的包(一个python轮子)通过带有-t--target选项的pip安装之后,我尝试删除一个文件。 我在setup.py中对install进行子类化,如下所示:

class PostInstallCommand(install):
    """Post-installation for installation mode."""
    def run(self):
        install.run(self)
        # here I am using 
        p = os.path.join(self.install_libbase,"myPackage/folder/removeThisPyc.pyc")
        if os.path.isfile(p):
            os.unlink(p)
        #there is also self.install_platlib and
        #self.install_purelib which seem to be used by pip distutil scheme 
        #Have not tested those yet
跑步时

python setup.py安装

这可以在安装时删除文件。 但是通过

pip到我的方向盘的安装路径。whl

这不起作用,文件仍然存在

pip安装-t/target/dir路径到我的控制盘。whl

也不起作用。。。 所以问题是,pip使用distutils和/或setuptools做什么,以及如何使其工作? 我注意到的另一件事是,pip似乎没有打印任何内容,我是在我的setup.py中以详细模式打印的? 是否可以看到python的完整输出而不是“pip”的内容?

阅读教育: 2.避免安装时执行任意代码。(避免setup.py) 由于我正在使用wheels,wheels不会执行setup.py,所以我这样做的概念是垃圾。

我猜这是在部署和安装之间,虽然我很明显会计算我对安装的一点更改

有没有办法避免在pip安装whl时创建pyc文件