Co by mohlo být vedení `conda pack od vyzvednutí opice záplaty balíčků?

0

Otázka

Snažím se opice patch Python balíček před použitím conda pack k balíčku se všechny balíčky pro nasazení.

Skript nastaví conda:

conda install -y --channel conda-forge conda-pack
conda create -y --name venv python=3.7
conda install -y --name venv --file requirements.txt

Pak to opice záplaty knihovna:

sed --in-place \
  's/CFUNCTYPE(c_int)(lambda: None)/# CCCFUNCTYPE(c_int)(lambda: None)/g' \
  /opt/conda/envs/venv/lib/python3.7/ctypes/__init__.py

Pak to balíčky všechno pro nasazení:

conda pack --name venv --output "$BUILD_DIR/runtime.tar.gz"

Tak divná věc je, že když jsem zkopírujte soubor přímo do sestavení složky:

cp /opt/conda/envs/venv/lib/python3.7/ctypes/__init__.py "$BUILD_DIR"

Opice-oprava souboru je tam.

Nicméně, když jsem extrakt $BUILD_DIR/runtime.tar.gzsoubor je ve své původní podobě.

Další podivné chování je, že když jsem ručně spustit tyto kroky, opice oprava souboru je v $BUILD_DIR/runtime.tar.gz.

Tam je docela dost kontejnery kolem, tak jsem si myslel, že možná conda je pomocí některé zachycené archiv, takže místo toho, jsem se snažil přidat do skriptu:

conda clean --tarballs

Ale to stále problém nevyřešila.

Také jsem se snažil používat conda pack's explicitní cestu volba, ale taky to nefungovalo:

conda pack --prefix /opt/conda/envs/venv --output "$BUILD_DIR/runtime.explicit.tar.gz"

Dělá conda pack vytáhnout soubory z jiného umístění stranou od: /opt/conda/envs/venv/lib/python3.7/site-packages

To nevysvětluje, proč věci dělat ručně, by to fungovalo, ale možná to bude místo mě do nového rocku se podívat pod.

Děkuji za váš čas

anaconda conda conda-pack monkeypatching
2021-11-23 20:34:45
1

Nejlepší odpověď

0

Nebyl jsem schopen se dostat monkey patching do práce, ale byl jsem schopen přijít na to, že ctypes není součástí numpy a spíše je součástí Python standardní knihovny. Tak conda pack by mohla velmi dobře léčit Python standardní knihovny trochu jinak.

Tak jsem to vzdala monkey patching a zjistil, že upgrade mého Python verze opraven problém.

Díky

2021-11-24 01:55:02

V jiných jazycích

Tato stránka je v jiných jazycích

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................