python / python/pyperformance

Help me to completely disable psutil

未关闭
#332 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

主要语言
Python
星标
1k
派生
203
平均合并
1 小时 20 分钟
30 天内合并 PR
2

描述

Hello everyone, for personal needs I'm working (on a personal fork ofc) on completely removing the use of psutil when launching pyperformance. I already did it for pyperf, and I thought I'd done it for pyperformance as well but despite removing psutil from the pyperformance/venv.py when I do 'pyperformance run' or 'pyperformance venv create' it still tries to install psutil because as far as I understand it, it doesn't use the local modified installation of pyperformance and pyperf but tries to download the original ones, which of course tells it to install psutil. How can I tell the venv to use the local installations?

Creating the virtual environment /home/xbit18/venv/cpython3.12-2da5632e88af-compat-d933292d5dcb
# /home/xbit18/.pyenv/versions/3.12.2/bin/python3.12 -m venv --without-pip /home/xbit18/venv/cpython3.12-2da5632e88af-compat-d933292d5dcb
# /home/xbit18/venv/cpython3.12-2da5632e88af-compat-d933292d5dcb/bin/python -m ensurepip -v
Using pip 24.0 from /tmp/tmpapjkh5y1/pip-24.0-py3-none-any.whl/pip (python 3.12)
Looking in links: /tmp/tmpapjkh5y1
Processing /tmp/tmpapjkh5y1/pip-24.0-py3-none-any.whl
Installing collected packages: pip
  changing mode of /home/xbit18/venv/cpython3.12-2da5632e88af-compat-d933292d5dcb/bin/pip3 to 775
  changing mode of /home/xbit18/venv/cpython3.12-2da5632e88af-compat-d933292d5dcb/bin/pip3.12 to 775
Successfully installed pip-24.0
# /home/xbit18/venv/cpython3.12-2da5632e88af-compat-d933292d5dcb/bin/python -m pip install -U 'setuptools>=18.5' wheel
Collecting setuptools>=18.5
  Downloading setuptools-69.2.0-py3-none-any.whl.metadata (6.3 kB)
Collecting wheel
  Downloading wheel-0.43.0-py3-none-any.whl.metadata (2.2 kB)
Downloading setuptools-69.2.0-py3-none-any.whl (821 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 821.5/821.5 kB 3.4 MB/s eta 0:00:00
Downloading wheel-0.43.0-py3-none-any.whl (65 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 65.8/65.8 kB 635.6 kB/s eta 0:00:00
Installing collected packages: wheel, setuptools
Successfully installed setuptools-69.2.0 wheel-0.43.0
# /home/xbit18/venv/cpython3.12-2da5632e88af-compat-d933292d5dcb/bin/python -m pip --version
pip 24.0 from /home/xbit18/venv/cpython3.12-2da5632e88af-compat-d933292d5dcb/lib/python3.12/site-packages/pip (python 3.12)
# /home/xbit18/venv/cpython3.12-2da5632e88af-compat-d933292d5dcb/bin/python -m ensurepip -v -U
Using pip 24.0 from /tmp/tmplckrat4v/pip-24.0-py3-none-any.whl/pip (python 3.12)
Looking in links: /tmp/tmplckrat4v
Requirement already satisfied: pip in ./venv/cpython3.12-2da5632e88af-compat-d933292d5dcb/lib/python3.12/site-packages (24.0)
# /home/xbit18/venv/cpython3.12-2da5632e88af-compat-d933292d5dcb/bin/python -m pip install -U 'setuptools>=18.5' wheel
Requirement already satisfied: setuptools>=18.5 in ./venv/cpython3.12-2da5632e88af-compat-d933292d5dcb/lib/python3.12/site-packages (69.2.0)
Requirement already satisfied: wheel in ./venv/cpython3.12-2da5632e88af-compat-d933292d5dcb/lib/python3.12/site-packages (0.43.0)
installing pyperformance in the venv at /home/xbit18/venv/cpython3.12-2da5632e88af-compat-d933292d5dcb
Installing requirements into the virtual environment /home/xbit18/venv/cpython3.12-2da5632e88af-compat-d933292d5dcb
# /home/xbit18/venv/cpython3.12-2da5632e88af-compat-d933292d5dcb/bin/python -m pip install pyperformance==1.11.0
Collecting pyperformance==1.11.0
  Downloading pyperformance-1.11.0-py3-none-any.whl.metadata (2.0 kB)
Collecting pyperf (from pyperformance==1.11.0)
  Downloading pyperf-2.6.3-py3-none-any.whl.metadata (6.0 kB)
Collecting packaging (from pyperformance==1.11.0)
  Downloading packaging-24.0-py3-none-any.whl.metadata (3.2 kB)
Collecting psutil>=5.9.0 (from pyperf->pyperformance==1.11.0)
  Downloading psutil-5.9.8-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (21 kB)

贡献指南

这个仓库没有索引到贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

调研方向

从 pyperformance/venv.py 开始,跟踪由 pyperformance runpyperformance venv create 触发的依赖项安装过程。检查虚拟环境如何选择 pyperformance 和 pyperf,然后验证无需安装 psutil 即可使用本地安装。

由索引模型根据 Issue 内容生成。

评估

技术栈
python
领域
performance, tooling
Issue 类型
功能
难度
3/5
预计耗时
1-2 天
活跃度
停滞
描述清晰度
基本清楚
新手友好度
35/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。