今天我试图通过带有-t --target选项的pip安装我的软件包(python wheel)后删除文件。 Post-install script with Python setuptools 我在我的setup.py中继承了安装,如下所示:
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 install
这样可以在安装时删除该文件。 但是通过
pip install path-to-my-wheel.whl
这不起作用,文件仍在那里。
pip install -t /target/dir path-to-my-wheel.whl
也不起作用...... 所以问题是,使用distutils和/或工具包做什么是pip,以及如何使这个工作? 我注意到的另一件事是pip似乎没有打印任何东西,我在我的setup.py中以详细模式打印? 有没有看到python的完整输出而不是“pip”的东西?
答案 0 :(得分:0)
阅读教育: http://pythonwheels.com/ 2.避免安装任意代码执行。 (避免setup.py) 当我使用轮子和轮子时不会执行setup.py,我这样做的概念就是垃圾。 https://github.com/pypa/packaging-problems/issues/64
我想这是在部署和安装之间,虽然我显然认为我对安装的一点改变......
有没有办法避免在pip install whl上创建pyc文件?