Python 在setup.py中执行pip目标和安装后操作
今天,在我的包(一个python轮子)通过带有-t--target选项的pip安装之后,我尝试删除一个文件。 我在setup.py中对install进行子类化,如下所示: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
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文件