Adapt python3-config to produce correct output in a virtual environment
まだ誰も着手していません。
評価
調査の方向性
Start by reproducing the pyenv virtualenv, pyenv activate, and python3-config --includes commands from the issue, then trace how the virtual environment's include directory and python3-config output are created. Done means a newly created environment provides valid Python headers and python3-config --includes no longer points to an empty or duplicated include path.
索引モデルが issue の本文から書いたものです。
説明
Related to https://github.com/pyenv/pyenv-virtualenv/issues/462
Steps to reproduce
- Create a new virtualenv and activate it:
$ pyenv virtualenv 3.12.11 test
$ pyenv activate test
- Check that
python3-configpoints to pyenv's shim
$ which python3-config
/home/ali/.pyenv/shims/python3-config
- Check where python3-config include directories are (same directory is listed twice for some reason?):
$ python3-config --includes
-I/home/ali/.pyenv/versions/3.12.11/envs/test/include/python3.12 -I/home/ali/.pyenv/versions/3.12.11/envs/test/include/python3.12
- Check what's in that directory (nothing)
ls -al /home/ali/.pyenv/versions/3.12.11/envs/test/include/python3.12
total 8
drwxr-xr-x 2 ali ali 4096 Aug 28 10:53 .
drwxr-xr-x 3 ali ali 4096 Aug 28 10:53 ..
Thus, whenever I try to compile something that needs to use python headers, I get the following error:
libsplinemodule.c:18:10: fatal error: Python.h: No such file or directory
18 | #include <Python.h>
| ^~~~~~~~~~
compilation terminated.
I can get around this by linking the virtualenv include directory to the original pyenv include directory:
$ rm -rf /home/ali/.pyenv/versions/3.12.11/envs/test/include
$ ln -s /home/ali/.pyenv/versions/3.12.11/include /home/ali/.pyenv/versions/3.12.11/envs/test/include
Presumably pyenv-virtualenv should do something like this by default when you create the environment?
- 主要言語
- Shell
- スター
- 6.7k
- フォーク
- 427
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
pyenv/pyenv-virtualenv のほかの issue
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
pyenv/pyenv-virtualenv#524 · コメント 5 件 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
pyenv/pyenv-virtualenv#514 · コメント 1 件 ·
-
enhancement
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
pyenv/pyenv-virtualenv#510 · リアクション 5 件 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 25/100
pyenv/pyenv-virtualenv#507 ·
-
third-party
難易度 3/5 1〜2日 初心者へのやさしさ 45/100
pyenv/pyenv-virtualenv#505 · コメント 7 件 ·
pyenv/pyenv-virtualenv の issue をすべて見る
似ている issue
-
package-update
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
oSoWoSo/vOid_Community_repOsitory#207 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
alunduil/alunduil-chezmoi#815 ·
メンテナーはふだん 1 日以内に返信
-
good first issue new package
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
wimpysworld/deb-get#2035 ·
メンテナーはふだん 1 日以内に返信
-
automation documentation
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 92/100
termux/termux-packages#32085 ·
メンテナーはふだん 1 日以内に返信