Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Provide python executable compiled with enable-shared

オープン
#595 コメント 4 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
25/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
python, shell
領域
build-system

調査の方向性

まず、recipe のマルチ出力構成、build_base.sh、build_shared、build_static を読みます。conda_build_config.yaml が macOS ビルドにどのような影響を与えるかを確認し、報告されている tkinter と共有ライブラリの失敗を調べます。対応しているサブパッケージが enable-shared を有効にしてビルドされた Python 実行ファイルを提供し、関連するパッケージテストに合格すれば完了です。

索引モデルが issue の本文から書いたものです。

説明

question
Comment:

Related: https://github.com/conda-forge/python-feedstock/issues/222#issuecomment-1309248101 .
My use-case: https://github.com/lammps/lammps/issues/3520

This could be provided as a subpackage, say python-shared, and install a python.VERSION_shared that the user could symlink or put in front of $PATH, as needed.

I would have built it myself but I am a bit lost since building this recipe with enable-shared is not being easy.

The usual ways of debugging a failing conda build do not work with this package: conda debug ends up giving me an environment where there's no script to activate the environment and no build script either, perhaps because the recipe has multiple outputs and conda debug does not know what to do with it.

So far had to remove the libpython-static output, make the recipe a single output recipe, move build_base.sh to build.sh, edit out script:build.sh, comment out rm .../libpython(...)$VERSION(...).a in build_shared, and add f to ln -sf ../../libpython${VERABI}.a libpython${VERABI}.a in build_static.

The last hurdle is that after building, conda build packages it, where it alters the paths that libraries/execs refer too ( I'm not very knowledgeable about this) and it fails with this message, which I guess has to do with signing in osx-arm64.
PS: fixed it by editing conda-builld/.../post.py https://github.com/conda/conda-build/issues/4392#issuecomment-1310893278

Tests do not pass (tkinter something), but I installed the package anyways and for my use-case it seems to function
PS: does not. conda_build_config.yaml included in the repo overrode the one I had in my home folder, so it did not pick up on the openssl==1.1 constraint and then when I replaced the python in my installation with the shared one it complained it could not find libssl.3.dylib.

After fixing that, for some reason 'libffi.7.dylib' was required by 'import _ctypes', which I fixed in the install environment by symlinking 'libffi.8.dylib' to 'libffi.7.dylib'.

主要言語
Shell
スター
47
フォーク
115
平均マージ
7日 6時間
マージ済み PR(30日)
14

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

conda-forge/python-feedstock のほかの issue

conda-forge/python-feedstock の issue をすべて見る

似ている issue

Shell/Bash の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。