Hacktoberfest 2026:維護者為十月標記出來的 issue,仍然開放、適合新手。 瀏覽 Hacktoberfest issue

pyvenv is no longer compatible with Python built from source

未關閉
#540 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視

還沒有人認領這個 Issue。

評估

難度
3/5
預估耗時
1-2 天
新手友好度
45/100
Issue 類型
缺陷
描述清晰度
基本清楚
活躍度
停滯
技術堆疊
python
領域
devops

研究方向

Start at the ::python::pyvenv resource entry point and trace how it installs the python3.7-venv package. Verify the behavior for a Python 3.7 interpreter built from source, then make completion avoid the package step when the venv module is already available. Done means the virtualenv is created without requiring an unavailable apt package.

由索引模型根據 Issue 內容生成。

描述

Affected Puppet, Ruby, OS and module versions/distributions

  • Puppet: 5.56
  • Ruby: 2.4.4
  • Distribution: Ubuntu 16.04
  • Module version: 4.0.0

How to reproduce (e.g Puppet code you use)

  ::python::pyvenv { $venv_path :
    version => '3.7.6',
  }

What are you seeing

The virtualenv is not created because it cannot install the python3.7-venv package via apt. This is because my version of python3.7 was built from source, and therefore I didn't get the python3.7 package via apt. Since python3.7 is required to install python3.7-venv via apt, this fails.

When built from source, venv is already included, so an additional package containing the venv module is not necessary, so this step should be skipped.

What behaviour did you expect instead

I expected the virtualenv to be correctly created

Output log

Error: Execution of '/usr/bin/apt-get -q -y -o DPkg::Options::=--force-confold install python3.7-venv' returned 100:
Reading package lists...
Building dependency tree...
Reading state information...
E: Unable to locate package python3.7-venv
E: Couldn't find any package by glob 'python3.7-venv'
E: Couldn't find any package by regex 'python3.7-venv'

Any additional information you'd like to impart

I believe that the best way to skip this step if necessary would be to check for the presence of the venv module. This could either be done using something like python3.7 -c "import venv" or pydoc3.7 venv, or checking if the folder exists at /usr/local/lib/python3.7/venv (not sure if this directory changes).

主要語言
Ruby
星號
196
分支
371
平均合併
5 小時 54 分鐘
30 天內合併 PR
5

環境準備

在 Codespaces 中開啟

在瀏覽器裡用你自己的 GitHub 帳號啟動這個專案的開發容器。

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

voxpupuli/puppet-python 的其他 Issue

查看 voxpupuli/puppet-python 的全部 Issue

相似的 Issue

更多 Ruby Issue

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。