gpt4 book ai didi

python - pip 目标并在 setup.py 中安装后

转载 作者:行者123 更新时间:2023-12-05 07:42:38 25 4
gpt4 key购买 nike

今天我试图在我的包(一个 python 轮)通过带有 -t --target 选项的 pip 安装后删除一个文件。 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 安装

这有效,文件在安装时被删除。但是通过

pip install path-to-my-wheel.whl

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

pip install -t/target/dir path-to-my-wheel.whl

也不行...所以问题是,pip 对 distutils 和/或 setuptools 做了什么,如何让它工作?我注意到的另一件事是 pip 似乎没有打印任何东西,我正在我的 setup.py 中以详细模式打印?是否可以看到 python 的完整输出而不是“pip”的唯一输出?

最佳答案

阅读教育: http://pythonwheels.com/2. 避免为安装执行任意代码。 (避免 setup.py)因为我正在使用轮子和轮子不会执行 setup.py,所以我这样做的想法是垃圾。 https://github.com/pypa/packaging-problems/issues/64

我想这是在部署和安装之间,尽管我显然会把我对安装的小改动算在内......

有没有办法避免在 pip install whl 时创建 pyc 文件?

关于python - pip 目标并在 setup.py 中安装后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44315110/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com