Paketimi, kurulum işleminde bir betik yürütecek şekilde yapılandırmaya çalıştım. Bu nedenle, setuptools.command öğesinden miras aldım ve paket yüklendiğinde işleri yapmak için özel sınıfım ActionOnInstall
'u oluşturdum. Bu sınıf, here sayılı belgede açıklandığı gibi setup()
argüman cmdclass
numaralı kurulum aracılığıyla çağrılır.cm3class argümanı ile ilgili pip3 ve `python3 setup.py install` arasındaki fark
from setuptools import find_packages, setup
from setuptools.command.install import install
class ActionOnInstall(install):
def run(self):
print("Call install.run(self) works!")
install.run(self)
setup(name='name',
cmdclass={
'install': ActionOnInstall})
başarıyla
pip3 install <path-to-dir-with-setup.py>
çalışır yürüterek paketi Bina ama ActionOnInstall.run()
belirtilen komutları yürütmüyor gibi
böyle bir setup.py dosyasının minimum örnek görünüyor. Daha doğrudan doğruya ActionOnInstall.run()
belirtilen komutlar
python3 setup.py install
bu setup.py yürütür çağrı. Daha sonra, kendimi şu soruyu sordum: Bu iki paketin bir paket kurmak için kullandığı yaklaşımın gerçek farkı nedir? Biliyorum, diğer yayınların bize söylediği gibi, pip kurulumuyla ilgili hayatı kolaylaştırıyor. Ama bu her iki yaklaşımın cmdclass
argümanını nasıl tedavi ettiği açıklanmamıştır. Böylece sizden haber almayı çok isterim.