• 05-10-2025, 15:15:33
    #1
    Selamlar,

    Ubuntu 22.04'de varsayılan olarak Python 3.10 geliyor ve benim yazdığım kod Python 3.10'da decimals hatası veriyorken 3.13'de tıkır tıkır çalışıyor.

    3.13'ye nasıl yükseltebilirim?
    Bütün apt gibi modüllerin de geçmesi gerekiyor.
  • 05-10-2025, 15:20:15
    #2
    Chatgpt 5 Thinking cevabı:

    https://chatgpt.com/share/68e2624e-4...4-a3ebe55beb20

    Belki işinizi görür.
  • 05-10-2025, 15:20:32
    #3
    pyenv veya deadsnakes araştırabilirsiniz.
  • 05-10-2025, 15:21:53
    #4
    soylenmezsmt adlı üyeden alıntı: mesajı görüntüle
    Selamlar,

    Ubuntu 22.04'de varsayılan olarak Python 3.10 geliyor ve benim yazdığım kod Python 3.10'da decimals hatası veriyorken 3.17'de tıkır tıkır çalışıyor.

    3.13'ye nasıl yükseltebilirim?
    Bütün apt gibi modüllerin de geçmesi gerekiyor.
    Bunu deneyebilirsin

    ✅ 1. Gerekli paketleri kur


    sudo apt update sudo apt install -y wget build-essential libssl-dev zlib1g-dev \ libncurses-dev libbz2-dev libreadline-dev libsqlite3-dev curl \ llvm libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev \ libffi-dev liblzma-dev
    ✅ 2. Python 3.17'yi kaynak koddan indir ve derle


    cd /usr/src sudo wget https://www.python.org/ftp/python/3.17.0/Python-3.17.0.tgz sudo tar xzf Python-3.17.0.tgz
    cd Python-3.17.0
    Yapılandır ve derle:

    sudo ./configure --enable-optimizations sudo make -j$(nproc) sudo make altinstall
    make altinstall, sistemdeki /usr/bin/python3'ü değiştirmemek için önemlidir. make install yaparsan sistem Python’unu bozarsın.
    ✅ 3. Python 3.17’nin yüklendiğini kontrol et


    python3.17 --version
    # Python 3.17.0
    ✅ 4. python3 ve pip3 komutlarını 3.17'ye yönlendir (İsteğe bağlı)

    Eğer sistemde genel python3 ve pip3 komutlarını da 3.17’ye yönlendirmek istersen, alternatifleri ayarlayabilirsin:

    sudo update-alternatives --install /usr/bin/python3 python3 /usr/local/bin/python3.17 1 sudo update-alternatives --install /usr/bin/pip3 pip3 /usr/local/bin/pip3.17 1
    # Varsayılanı seç (python3)
    sudo update-alternatives --config python3
    # Varsayılanı seç (pip3)
    sudo update-alternatives --config pip3
    Her seçimde ekrana bir liste gelecek. 3.17 olanı seçmen yeterli.
    ✅ 5. pip modüllerini 3.17'ye yükle

    Artık pip komutu da 3.17’ye bağlı. Şöyle yükleyebilirsin:
    
    python3.17 -m pip install <paket-adı>
    # veya
    pip3 install <paket-adı>
    Ayrıca venv ile sanal ortam da yaratabilirsin:
    
    python3.17 -m venv myenv
    source myenv/bin/activate
    🔁 Bütün modüllerin geçmesi meselesi

    Apt üzerinden gelen modüller sadece sistem Python’u (3.10) içindir. Python 3.17’ye geçtiğinde bu modüller yeniden pip ile kurulmalı:

    python3.17 -m pip install requests numpy pandas ...
    apt install python3-requests gibi komutlar 3.10 için yükleme yapar, 3.17'ye yansımaz.
  • 05-10-2025, 16:26:16
    #5
    soylenmezsmt adlı üyeden alıntı: mesajı görüntüle
    Selamlar,

    Ubuntu 22.04'de varsayılan olarak Python 3.10 geliyor ve benim yazdığım kod Python 3.10'da decimals hatası veriyorken 3.13'de tıkır tıkır çalışıyor.

    3.13'ye nasıl yükseltebilirim?
    Bütün apt gibi modüllerin de geçmesi gerekiyor.
    Pyenv ile yaparsin.
    Tabi daha etkili yollarda var UV paket yonetici gibi ama UV kullanimi her ne kadar kolay olsada ogrenmen gerekiyor. Bence bir noktada UV kesin ogren cunku, hem venv yani sanal ortam yaratma hem paython versionu gibi konulari tamamen cozuyorsun. En ideal cozum UV.

    Pyenv'den yola gidersek:

    Once gerekli paketleri yuklemelisin.
    sudo apt update
    sudo apt install -y make build-essential libssl-dev zlib1g-dev \
    libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \
    libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev \
    libffi-dev liblzma-dev git
    Pyenv kurulum
    curl https://pyenv.run | bash
    ~/.bashrc eklenecek satilar. nano ~/.bashrc komnutu ile acilan pencerenin en altina su kodlari eklemelisin.
    echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
    echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
    echo 'eval "$(pyenv init -)"' >> ~/.bashrc
    bashrc degisiklikleri uygulamak icin
    source ~/.bashrc
    Pyenv yukleme bu kadar peki Python versiyonlari nasil oluyor?

    pyenv install 3.13
    ile belirli bir python versiyonunu yukleyebilirsin, istersen 10larcasini yukle.

    Sistemde yuklu pythonlari ise
    pyenv install --list
    komutu ile ogreniyorsun.

    Geriye tek yapman gereken istedigin python surumunu sistemde aktif etmek. O da global komutu ile yapiliyor.

    pyenv global 3.13
    Globalde kullanacagin python aktif ettikten sonra kodun calisir.
    Ancak Pyenv soyle bir sikinti var.

    Mesela python -m venv venv seklinde bir sanal ortam yarattin diyelim. Buna gerek var. Neden dersen ubuntudasin sanal ortam kullanman onemli. Cunku artik son surum ubuntuda artik pip insatall komutu ile global bir sekilde paket kuramiyorsun. Hata veriyor o yuzden sanal ortam kullanmalisin. Zaten bu kesin gerekli birsey.

    Peki pyenv ile sanal ortam iliskisi ne?
    pyenv global 3.13 ile global python surumu 3.13 iken sen python -m venv venv sanal ortam olusturdugunda o sanal ortamdaki python 3.13 kuruluyor. Sen global python surumunu sonradan, pyenv global 3.12 olarak degistirsen de mevcut sanal ortam ilk kurdugun sanal ortam python 3.13 kalmis oluyor. Bunu untumamalisin.