Polskie forum Pythona
search
  • chevron_right Tematy
  • label Aplikacje webowe

VENV - Jak zapisac wersje pythona do requirements.txt

wektor8
5 lipca 2024
chat_bubble_outline 5
  • link
    wektor8
    Członkowie 3 posty
    5 lipca 2024 18:04 5 lipca 2024 18:04
    link

    Witam

    Mam projekt w Django 3.2.25. Ostatnia zalecana wersja pythona to 3.10. Wyczytalem na forum ze trzeba te wersje pythona 3.10 zainstalowac globalnie razem venv, potem stworzyc wlasny venv uruchomic go i reszte juz normalnie zaistalowac Django 3.2.25 i mozna pracowac :). Tak tez zrobilem i wszystko chodzi fajne.
    Jest wersja Django 3.2.25 i wersa python 3.10.
    I teraz zaczyna sie problem. Tworze plik requirements.txt (pip freeze > requirements.txt). Tworze nowy venv (zeby sprawdzic czy wszystko dziala) instaluje requirements.txt i sprawdzam wersje pythona a tam wersja 3.12 (bo taka jest ustawiona globalnie w systemie i taka uzylem do stworzenia testowego venv) :(.
    A ja chcialem miec wersje 3.10. Jak to zrobic?
    Skad ktos kto wezmie moj projekt ma wiedziec ze trzeba uzyc pythona 3.10?

    Pozdrawiam

  • link
    coBOLEK
    Członkowie 15 postów
    5 lipca 2024 21:31 5 lipca 2024 21:31
    link

    Z użyciem pyenv to będzie coś w stylu:

    $ mkdir django_project && cd django_project
    $ pyenv global 3.10
    $ python --version
    $ python -m venv .venv
    $ source .venv/bin/activate
    

    Wcześniej użyj oczywiście:
    $ pyenv install 3.10

    Tu nieco więcej objaśnień:
    github.com/pyenv/pyenv?tab=readme-ov-file#understanding-python-version-selection

    To nie jest z użyciem requirements.txt !

    coBOLEK lubi to

    favorite 1

  • link
    wektor8
    Członkowie 3 posty
    9 lipca 2024 08:24 9 lipca 2024 08:24
    link

    pyvenv już nie jest używany. Sama instalacja nie jest problemem. Mnie chodzi o zapisanie wesji pythona do pliku requirements.txt, bądź inny sposób żeby to działało z automatu.

  • link
    coBOLEK
    Członkowie 15 postów
    9 lipca 2024 08:55 9 lipca 2024 08:55
    link

    OK, zobacz:

    virtualenv venv --python=python3.10
    

    Ja nie mam jak sprawdzić.

  • link
    wektor8
    Członkowie 3 posty
    10 lipca 2024 19:11 10 lipca 2024 19:11
    link

    Chyba nadal sie nie rozumiemy. Ja wiem jak stworzyc venv z versja pythona 3.10 ale chce zeby pip freeze wpisal mi te wersje do requirements.txt.
    Inaczej tutaj masz link do projektu:
    github.com/wektor8/repo.git
    Tam jest plik requirements.txt. Skad bedziesz wiedzial ze trzeba uzyc pythona3.10 do stworzenia venv? Gdzie mam to wpisac w readme.md?

  • link
    coBOLEK
    Członkowie 15 postów
    11 lipca 2024 11:43 11 lipca 2024 11:43
    link

    WIem o co chodzi, ale nie spotkałem się jeszcze z takim wymogiem, ani tym bardziej jego rozwiązaniem. Nie wiem może ktoś inny znajdzie lepsze rozwiązanie, ale jest taka opcja:

    W requirements wpisujesz jakiego pythona wymaga dana zależność:

    django==3.2.25;python_version=="3.10"
    

    Zobacz więcej na: github.com/pypa/pip/issues/11198

arrow_upward Idź do góry
powered by misago