今天,我试图通过PIP安装包装(python wheel(,并使用-t -t -target选项删除文件。带有Python Setuptools的后安装脚本我是在我的设置中安装的,例如:
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
也不起作用...因此,问题是,PIP对Distutils和setuptools做了什么?如何使这项工作?我注意到的另一件事是,PIP似乎没有打印任何东西,我正在以详细模式打印。有没有看到python的完整输出,而不是" pip"的东西?
阅读教育:http://pythonwheels.com/2.避免安装任意代码执行。(避免setup.py(当我使用车轮和车轮不会执行设置时,我这样做的概念是垃圾。https://github.com/pypa/packaging-problems/issues/64
我想这是在部署和安装之间
有没有办法避免在pip安装时避免创建PYC文件?