Kirjoittaja Aihe: Mihin easy_install komennolla asennetut Python paketit menevät?  (Luettu 2740 kertaa)

JA5U

  • Käyttäjä
  • Viestejä: 462
    • Profiili
Hei

En löydä näitä mistään. Haluaisin muokata lähdekoodia, mutta melko hankalaa, kun ei löydy itse koodeja.

Yritin etsiä niin virtuaaliympäristöstä kuin sen ulkopuolelta, mutta tuloksetta. Osan löysin, mutten läheskään kaikkia: @/Lib/site-packages

Erityisesti haluaisin lisätä django-leaflet pakettiin lisää front-end lisäosia ts. javascriptiä.

Sen verran ymmärsin Githubista, ettei paketti toimi täydellisesti lisäosien suhteen.
Ajattelin, että ehkä ne voisi lisätä sinne paketin omaan kansioon ilman, että tehdään jotain omia luokkia, jotka tuovat ne sovellukseen ja joihin viitataan esim setting.pyhin tulevilla asetuksilla.

Tomin

  • Palvelimen ylläpitäjä
  • Käyttäjä / moderaattori+
  • Viestejä: 11442
    • Profiili
    • Tomin kotisivut
Hei

En löydä näitä mistään. Haluaisin muokata lähdekoodia, mutta melko hankalaa, kun ei löydy itse koodeja.

Yritin etsiä niin virtuaaliympäristöstä kuin sen ulkopuolelta, mutta tuloksetta. Osan löysin, mutten läheskään kaikkia: @/Lib/site-packages

easy_install on aika vanha tapa asentaa ohjelmia. pip tai pipenv voisi olla enemmän nykyaikaa. Pip:llä asennettuna ne menevät joko järjestelmänlaajuisesti /usr/lib/python3.x/site-packages tai /usr/local/lib/python3.x/site-packages, käyttäjälle (--user vivulla) asennettuna ~/.local/lib/python3.x/site-packages ja sitten virtualenvissä sen vastaavaan lib-hakemiston polkuun. Näissä 3.x on korvattava Pythonin versiolla.

Erityisesti haluaisin lisätä django-leaflet pakettiin lisää front-end lisäosia ts. javascriptiä.

Sen verran ymmärsin Githubista, ettei paketti toimi täydellisesti lisäosien suhteen.
Ajattelin, että ehkä ne voisi lisätä sinne paketin omaan kansioon ilman, että tehdään jotain omia luokkia, jotka tuovat ne sovellukseen ja joihin viitataan esim setting.pyhin tulevilla asetuksilla.

Itse en kyllä ihan ymmärtänyt tätä kohtaa. Eikös noita voi tehdä ihan minkä vain Django app:n hakemistoon ja collectstatic löytää ne kyllä sieltä.

Muokkaus: Ihan pieni selkeytys.
« Viimeksi muokattu: 23.04.18 - klo:17.23 kirjoittanut Tomin »
Automaattinen allekirjoitus:
Lisäisitkö [RATKAISTU] ketjun ensimmäisen viestin aiheeseen ongelman ratkettua, kiitos.

JA5U

  • Käyttäjä
  • Viestejä: 462
    • Profiili
easy_install on aika vanha tapa asentaa ohjelmia. pip tai pipenv voisi olla enemmän nykyaikaa. Pip:llä asennettuna ne menevät joko järjestelmänlaajuisesti /usr/lib/python3.x/site-packages tai /usr/local/lib/python3.x/site-packages, käyttäjälle (--user vivulla) asennettuna ~/.local/lib/python3.x/site-packages ja sitten virtualenvissä sen vastaavaan lib-hakemiston polkuun, missä 3.x on korvattava Pythonin versiolla.

pip ei suostunut toimimaan "cannot find pip._internals" - joku ihme homma taas, kuten yleensäkin näiden kanssa.

Erityisesti haluaisin lisätä django-leaflet pakettiin lisää front-end lisäosia ts. javascriptiä.

Sen verran ymmärsin Githubista, ettei paketti toimi täydellisesti lisäosien suhteen.
Ajattelin, että ehkä ne voisi lisätä sinne paketin omaan kansioon ilman, että tehdään jotain omia luokkia, jotka tuovat ne sovellukseen ja joihin viitataan esim setting.pyhin tulevilla asetuksilla.

Itse en kyllä ihan ymmärtänyt tätä kohtaa. Eikös noita voi tehdä ihan minkä vain Django app:n hakemistoon ja collectstatic löytää ne kyllä sieltä.
[/quote]

No siis tämä oli aika bruteforce hajatelma. Lisään tiedostot alkuperäiseen pakettiin, jos se jonkin tietyn kaavan mukaan ja tietystä paikasta nuuskii niitä js tiedostoja ts. lisäosia.
Ja jos rehellisiä ollaan, niin en tiedä, että miten tuo collectstatic toimii.

Ko. paketti ei liene mikään aktiivisinkaan.

Tomin

  • Palvelimen ylläpitäjä
  • Käyttäjä / moderaattori+
  • Viestejä: 11442
    • Profiili
    • Tomin kotisivut
easy_install on aika vanha tapa asentaa ohjelmia. pip tai pipenv voisi olla enemmän nykyaikaa. Pip:llä asennettuna ne menevät joko järjestelmänlaajuisesti /usr/lib/python3.x/site-packages tai /usr/local/lib/python3.x/site-packages, käyttäjälle (--user vivulla) asennettuna ~/.local/lib/python3.x/site-packages ja sitten virtualenvissä sen vastaavaan lib-hakemiston polkuun, missä 3.x on korvattava Pythonin versiolla.

pip ei suostunut toimimaan "cannot find pip._internals" - joku ihme homma taas, kuten yleensäkin näiden kanssa.

No johan on kummallista. Tämä keskustelu vihjaa, että olisit saattanut ajaa jonkin pip-käskyn root-käyttäjänä ja sotkea jotain:
https://askubuntu.com/questions/1025189/pip-is-not-working-importerror-no-module-named-pip-internal
Virtualenviä käytettäessä ei ole mitään syytä ajaa pip-komentoja root-käyttäjänä ja pakettienhallinan asentamia paketteja ei kannata korvata pip:llä asennetuilla järjestelmän tasolla (virtualenvissä tai käyttäjän omassa kirjastossa voi asentaa uudempia versioita; ilman root-oikeuksia tietenkin).

Erityisesti haluaisin lisätä django-leaflet pakettiin lisää front-end lisäosia ts. javascriptiä.

Sen verran ymmärsin Githubista, ettei paketti toimi täydellisesti lisäosien suhteen.
Ajattelin, että ehkä ne voisi lisätä sinne paketin omaan kansioon ilman, että tehdään jotain omia luokkia, jotka tuovat ne sovellukseen ja joihin viitataan esim setting.pyhin tulevilla asetuksilla.

Itse en kyllä ihan ymmärtänyt tätä kohtaa. Eikös noita voi tehdä ihan minkä vain Django app:n hakemistoon ja collectstatic löytää ne kyllä sieltä.

No siis tämä oli aika bruteforce hajatelma. Lisään tiedostot alkuperäiseen pakettiin, jos se jonkin tietyn kaavan mukaan ja tietystä paikasta nuuskii niitä js tiedostoja ts. lisäosia.
Ja jos rehellisiä ollaan, niin en tiedä, että miten tuo collectstatic toimii.

Ko. paketti ei liene mikään aktiivisinkaan.

collectstatic kerää kaikki static-hakemistojen tiedostot samaan paikkaan. Idea on, että ne voi sitten helposti www-palvelimella tarjoilla samasta paikasta ja siihen voi halutessaan vaikka käyttää eri domainia.

Tietysti yksi mitä voit tehdä on kloonata tuon ohjelman repon ja päivittää sitä itse ja sitten asentaa tuon muokatun paketin sinne virtuaaliympäristöön. Pip ainakin osaa asentaa.

Muokkaus: Katselin vähän tuon leafletin toimintaa ja ilmeisesti se tekee jotain tempalteihin generoitua JavaScriptiä. Silloin tietysti collectstatic ei tee mitään hyödyllistä.
« Viimeksi muokattu: 23.04.18 - klo:17.35 kirjoittanut Tomin »
Automaattinen allekirjoitus:
Lisäisitkö [RATKAISTU] ketjun ensimmäisen viestin aiheeseen ongelman ratkettua, kiitos.

JA5U

  • Käyttäjä
  • Viestejä: 462
    • Profiili
Kiitos, hyvä pikaluento aiheeseen :)

Löysin nyt lisäksi egg-tiedostoja esim. leaflet-0.0.3-py-3.6.egg
Ilmeisesti nämä on jotain paketteja itsessään, joita "puretaan" lennosta ja ajetaan?

Täytynee ruveta gittailemaan...