Jak oczyścić środowisko venv

0

Witam,
mam pytanie, pracuję na Ubuntu, PyCharm. Ostatnio postawiłem (robię kurs na Udemy) Jupyter Notebook. Zainstalowałem wszystkie zależności i zrobił mi się śmietnik z którym nie mogę sobie poradzić bo się okazało że jak chciałem zrobić requirements.txt w PyCharm do projektu to powstało ponad 300 linii zależności? (fragment poniżej). Jak to posprzątać? Dodam, że usunięcie venv i postawienie na nowo nic nie dało, a ten kod virtualenv --clear your-env-name też nic nie pomógł. :/. Dziękuję za pomoc.

**
Zmieniam pytanie: widzę że JN doinstalował swoje rzeczy globalnie stąd wchodzą one do venv, czy jest jakaś możliwość zrobić tak aby venv projektu nie widział tego, czy trzeba po prostu odinstalować JN?

aiohttp @ file:///tmp/build/80754af9/aiohttp_1646806365504/work
aiosignal @ file:///tmp/build/80754af9/aiosignal_1637843061372/work
alabaster @ file:///home/ktietz/src/ci/alabaster_1611921544520/work
anaconda-client==1.11.0
anaconda-navigator==2.3.2
anaconda-project @ file:///opt/conda/conda-bld/anaconda-project_1660339890420/work
anyio @ file:///tmp/build/80754af9/anyio_1644463572971/work/dist
appdirs==1.4.4     itd...
1

Czego używasz, conda, pip, coś innego?

Zmieniam pytanie: widzę że JN doinstalował swoje rzeczy globalnie stąd wchodzą one do venv

Co to znaczy? Niemożliwe jest, będąc w venv instalować pakiety globalnie.

0
lion137 napisał(a):

Czego używasz, conda, pip, coś innego?

Zmieniam pytanie: widzę że JN doinstalował swoje rzeczy globalnie stąd wchodzą one do venv

Co to znaczy? Niemożliwe jest, będąc w venv instalować pakiety globalnie.

pip, dla PyCharm, ale na Udemy robiłem krok po korku wg instruktora i instalowałem Condę i tam robiłem conda. Globalnie zainstalowały mam wrażenie rzeczy z conda, ponieważ prompt jak w win nie znalazłem i używałem terminala linuxa, więc chyba wszytko poszło globalnie :/

1

Może nie aktywowałeś środowiska? Nie rób z kursu, tylko z dokumentacji condy online.

0
lion137 napisał(a):

Może nie aktywowałeś środowiska? Nie rób z kursu, tylko z dokumentacji condy online.

Ok, a co z tym teraz zrobić, odinstalować condę?

2

Załóż nowe środowisko, a ten syf globalny musisz posprzątać.

2

Polecałbym zacząć korzystać z pyenv i virtualenv pluginem do zarządzania środowiskami.
https://github.com/pyenv/pyenv

Potem w repo ustawiasz sobie [pyenv local my_python_env] i masz pewność z jakim środowiskiem pracujesz bez pilnowania komendy activate.
https://github.com/pyenv/pyenv#understanding-python-version-selection

Dodatkowo polecam zacząć używać pliku requirements.in z pip-compile.
https://github.com/jazzband/pip-tools

0
Akrylik napisał(a):

Polecałbym zacząć korzystać z pyenv i virtualenv pluginem do zarządzania środowiskami.
https://github.com/pyenv/pyenv

Potem w repo ustawiasz sobie [pyenv local my_python_env] i masz pewność z jakim środowiskiem pracujesz bez pilnowania komendy activate.
https://github.com/pyenv/pyenv#understanding-python-version-selection

Dodatkowo polecam zacząć używać pliku requirements.in z pip-compile.
https://github.com/jazzband/pip-tools

Hej, dzięki za wskazówki. Ogólnie zrobię to co mi napisałeś ale ponieważ na douczam się pewnych rzeczy na Udemy więc za nim to ogarnę to na razie poszedłem na skróty. Pewnie dla tego że do celowo raczej odinstaluje Jupytera bo jestem zwolennikiem PyCharm tym bardziej że mam komercyjną wersję. Póki co podrzucam kod kod czyszczący środowisko - wiem że to może nie do końca profesjonalne ale jak pisałem nie będę korzystał z JN. Ogólnie robię sobie pip freeze > req.txt odpalam swój skrypt i czyszczę venv. Mogą być jeszcze jakieś rzeczy z Conda ale to już lepiej wygląda. Oczywiście req.txt ląduje w .gitignore. Pozdrawiam.

path = r'...req.txt'

with open(path) as file:
    while (line := file.readline().rstrip()):
        if 'file' in line:
            pass
        elif 'conda' in line:
            pass
        else:
            with open("requirements.txt", "a", newline='') as fp:
                fp.writelines(line + '\n')

1 użytkowników online, w tym zalogowanych: 0, gości: 1