Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use pipenv instead of requirements.txt #203

Merged
merged 8 commits into from
Jul 4, 2018
Merged

Use pipenv instead of requirements.txt #203

merged 8 commits into from
Jul 4, 2018

Conversation

tyilo
Copy link
Member

@tyilo tyilo commented Jul 2, 2018

@tyilo
Copy link
Member Author

tyilo commented Jul 2, 2018

Note: dette ændrer venv dir'et på prodekanus fra /home/tkammer/tkweb/venv/ til /home/tkammer/tkweb/.venv/

Jeg ved ikke om det er vigtigt at venv'et ligger et bestemt sted, da vi altid bare kan bruge pipenv run ...

@Mortal
Copy link
Contributor

Mortal commented Jul 2, 2018

Det skal opdateres i Apache configen (som burde være i web-repoet, men er det ikke - relateret til #144), men det er ikke noget problem så længe vi husker det når vi deployer.

Copy link
Contributor

@Mortal Mortal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dvs. django-cleanup og django-model-utils er enten direct dependencies eller bliver slet ikke brugt.

Jeg har undersøgt det nærmere, og vi bruger dem rent faktisk: django-cleanup indsætter hooks der automatisk sletter filer på disk når de tilhørende modelinstanser med FileField slettes; django-model-utils bliver brugt i tkweb/apps/gallery/.

Følgende ser ikke ud til at være direct dependencies (medmindre vi selvfølgelig bruger dem direkte):

Pillow (krævet af wiki og django-versatileimagefield)

Direct dependency, da den bruges i gallery og regnskab.

sorl-thumbnail (krævet af wiki)

Direct dependency: Importeres i gallery.

(numpy (krævet af scipy, men lad os beholde den som explicit dependency))

Direct dependency: Importeres i regnskab.

Vil du tilføje dem til Pipfile?

@tyilo
Copy link
Member Author

tyilo commented Jul 2, 2018

Fixed

cron.sh Outdated
python $DIR/manage.py updateical --settings=tkweb.settings.prod
python $DIR/manage.py delete_marked_images --settings=tkweb.settings.prod
pipenv run ./manage.py updateical --settings=tkweb.settings.prod
python run ./manage.py delete_marked_images --settings=tkweb.settings.prod
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Burde der ikke stå pipenv her?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Jo, fixed

python3 manage.py migrate --settings=tkweb.settings.prod # Migrer databasen til en evt. ny model.
python3 manage.py collectstatic --settings=tkweb.settings.prod # Saml statiske filer så apache kan finde dem.
export PIPENV_VENV_IN_PROJECT=1 # Sig til pipenv at den skal bruge .venv mappe inde i projektet
pipenv install --three # Installer og opdater alle python pakker i virtualenv. Det kan være at den skal køres flere gange.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hm, hvorfor skal pip install -U -r requirements.txt eller pipenv install --three køres flere gange?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Jeg ved ikke med pipenv, men pip install -U pip -r requirements.txt (med -U pip) skal køre to gange hvis pip selv bliver opdateret.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Jeg kan ikke se at nogen af dem køres flere gange, kan du uddybe?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hvis man kører pip install -U pip -r requirements.txt og ens pip-pakke er outdated bliver pip-pakken og kun pip-pakken opdateret. Man skal derfor køre kommandoen igen for at opdatere det der er i requirements.txt. Det var derfor jeg skrev kommentaren for lang tid siden. Jeg tror ikke at pipenv install har brug for at køre flere gange, så kommentaren kan slettes.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, havde ikke læst kommentaren. Sletter den...

readme.md Outdated
@@ -43,7 +43,7 @@ flere moduler der nedarver fra hinanden. Se også under
## Udviklingsmiljø

Det er en forudsætning at maskinen har en fungerende python installation med
`pip`.
[`pipenv`](https://docs.pipenv.org/), som kan installeres med `pip install pipenv`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Evt. pip install --user pipenv?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Det kræver at man har $HOME/.local/bin i sin PATH, hvilket jeg f.eks. ikke har på nogen af mine setups.

@Mortal
Copy link
Contributor

Mortal commented Jul 3, 2018

Det ser godt ud!

@Mortal
Copy link
Contributor

Mortal commented Jul 3, 2018 via email

@Mortal
Copy link
Contributor

Mortal commented Jul 3, 2018 via email

Avoids "ValueError: Invalid Specifiers 5.0.0" upon `pipenv install`
@Mortal Mortal merged commit 75876be into master Jul 4, 2018
@neic neic mentioned this pull request Jul 9, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants