jdx / mise

dev tools, env vars, task runner
https://mise.jdx.dev
MIT License
10.08k stars 290 forks source link

python not using prebuilt binary #3010

Closed jarod closed 1 day ago

jarod commented 1 day ago

Describe the bug

# lsb_release -a
LSB Version:    core-11.1.0ubuntu4-noarch:security-11.1.0ubuntu4-noarch
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.3 LTS
Release:        22.04
Codename:       jammy

# mise use -g python@3.9
WARNING: Please make sure you remove any previous custom paths from your /root/.pydistutils.cfg file.
Downloading Python-3.9.20.tar.xz...
-> https://www.python.org/ftp/python/3.9.20/Python-3.9.20.tar.xz
Installing Python-3.9.20...

To Reproduce Steps to reproduce the behavior.

Expected behavior Download and use a prebuilt version of python instead of building from source.

mise doctor output

# mise doctor
version: 2024.11.8 linux-x64 (d5dde8f 2024-11-12)
activated: yes
shims_on_path: yes

build_info:
  Target: x86_64-unknown-linux-musl
  Features: DEFAULT, NATIVE_TLS, OPENSSL
  Built: Tue, 12 Nov 2024 03:08:01 +0000
  Rust Version: rustc 1.82.0 (f6e511eec 2024-10-15)
  Profile: release

shell:
  /bin/bash
  GNU bash, version 5.1.16(1)-release (x86_64-pc-linux-gnu)
  Copyright (C) 2020 Free Software Foundation, Inc.
  License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

  This is free software; you are free to change and redistribute it.
  There is NO WARRANTY, to the extent permitted by law.

dirs:
  data: /srv/mise
  config: ~/.config/mise
  cache: ~/.cache/mise
  state: ~/.local/state/mise
  shims: /srv/mise/shims

config_files:
  ~/.config/mise/config.toml
  /home/jarod/.config/mise/config.toml
  /home/jarod/mise.toml
  /home/jarod/.mise.toml

backends:
  aqua
  cargo
  core
  go
  npm
  pipx
  spm
  ubi
  vfox

plugins:

toolset:
  python@3.9.20

env_vars:
  MISE_DATA_DIR=/srv/mise
  MISE_SHELL=bash

settings:
  activate_aggressive = false
  all_compile = false
  always_keep_download = false
  always_keep_install = false
  aqua_registry_url = "https://github.com/aquaproj/aqua-registry"
  asdf_compat = false
  cache_prune_age = "30d"
  ci = false
  color = true
  debug = false
  disable_backends = []
  disable_default_registry = false
  disable_hints = []
  disable_tools = []
  experimental = false
  fetch_remote_versions_cache = "1h"
  fetch_remote_versions_timeout = "10s"
  go_default_packages_file = "~/.default-go-packages"
  go_download_mirror = "https://dl.google.com/go"
  go_repo = "https://github.com/golang/go"
  go_set_gopath = false
  go_set_goroot = true
  go_skip_checksum = false
  http_timeout = "30s"
  jobs = 4
  legacy_version_file = true
  legacy_version_file_disable_tools = []
  libgit2 = true
  lockfile = false
  log_level = "info"
  not_found_auto_install = true
  paranoid = false
  pin = false
  plugin_autoupdate_last_check_duration = "7d"
  quiet = false
  raw = false
  task_timings = false
  trace = false
  trusted_config_paths = []
  unix_default_file_shell_args = ["sh"]
  unix_default_inline_shell_args = [
      "sh",
      "-c",
  ]
  use_file_shell_for_executable_tasks = false
  use_versions_host = true
  verbose = false
  windows_default_file_shell_args = [
      "cmd",
      "/c",
  ]
  windows_default_inline_shell_args = [
      "cmd",
      "/c",
  ]
  windows_executable_extensions = [
      "exe",
      "bat",
      "cmd",
      "com",
      "ps1",
      "vbs",
  ]
  yes = false

  [cargo]
  binstall = true

  [node]

  [npm]
  bun = false

  [pipx]
  uvx = false

  [python]
  default_packages_file = "~/.default-python-packages"
  pyenv_repo = "https://github.com/pyenv/pyenv.git"
  venv_auto_create = false
  venv_stdlib = false

  [ruby]
  default_packages_file = "~/.default-gems"
  ruby_build_repo = "https://github.com/rbenv/ruby-build.git"
  ruby_install = false
  ruby_install_repo = "https://github.com/postmodern/ruby-install.git"

  [status]
  missing_tools = "if_other_versions_installed"
  show_env = false
  show_tools = false
No warnings found
1 problem found:

1. new mise version 2024.11.9 available, currently on 2024.11.8

Additional context Add any other context about the problem here. Consider running mise with --debug or --trace for extra debug info.

risu729 commented 1 day ago

I'm also facing this issue. It's caused by #2993.

I'm unsure about python.compile behaviour, but it seems it's not checking whether the precompiled binary is available.

[undefined] - use precompiled binary if one is available for the current platform, compile otherwise.

https://mise.jdx.dev/lang/python.html#python.compile

jarod commented 1 day ago

I'm also facing this issue. It's caused by #2993.

I'm unsure about python.compile behaviour, but it seems it's not checking whether the precompiled binary is available.

[undefined] - use precompiled binary if one is available for the current platform, compile otherwise.

https://mise.jdx.dev/lang/python.html#python.compile

by setting MISE_PYTHON_COMPILE=false, now mise download precompiled binary

risu729 commented 1 day ago

Thanks! I actually knew that setting but I think prebuilt binaries should be used by default.