ScoopInstaller / Scoop

A command-line installer for Windows.
https://scoop.sh
Other
20.92k stars 1.39k forks source link

Updating Python cause PIP Packages Removed! #2180

Closed yigitemres closed 2 years ago

yigitemres commented 6 years ago

I don't know that is default behavior of Python but, PIP packages are not persistent when updating Python,

rasa commented 6 years ago

Are you installing using pip —user?

I’m not a python expert, what directories besides Lib/site-packages and bin does pip install files in?

rasa commented 6 years ago

If —user is required, we should alert the user via a note.

atomicwrites commented 5 years ago

I was actually under the impression you shouldn't use --user when you use scoop, i'm not really sure why though. But yeah, I lost my modules, in an update all, and of course the next python thing i did was give a demo. Thankfully i had my dependencies in requirements.txt though.

zhoujin7 commented 4 years ago

Suggest always use virtualenv/venv to create projects and install modules in virtual env. Another recomend tool is pipx.

thorstenkampe commented 4 years ago

Please reopen this issue. It's obviously a bug and hasn't been resolved. The suggestion to use pip --user results in packages which are only accessible by the current user. The current Python package for Scoop is not portable and thus would be better placed into the "nonportable" bucket.

Background: pip by default installs to the Scripts and Lib\site-packages directories. These are lost when upgrading Python. The obvious solution would be to use the mechanism that Scoop has and link these directories to persist\python.

thorstenkampe commented 4 years ago

Same issue in #3595 which is still open

yigitemres commented 4 years ago

Suggest always use virtualenv/venv to create projects and install modules in virtual env. Another recomend tool is pipx.

While creating projects you are right. Using venvs is best thing to do but some pip packages are used for daily basis like yeecli, buku etc... When this daily used packages gone after scoop update *, scoop turn into very good experience to very bad experience very quickly.

For like these reasons I'm not currently use scoop. Scoop has huge potential. Scoop has good community. But scoop lacks very tiny nuances that can damage the experience very badly. If you want simple example that we have export function (which is great) but still don't have any import function (which is very bad and makes export function pointless... kinda). I'm tried to implement import function and open pr #2105. Look at the date. My import function is not very good. It lacks one or two things like adding buckets automatically etc. but it works. But its not consider good enough. It's fine. I'm not expert on PowerShell. But still anybody don't implement this feature.

meirl1 commented 4 years ago

Please reopen this issue. It's obviously a bug and hasn't been resolved. The suggestion to use pip --user results in packages which are only accessible by the current user. The current Python package for Scoop is not portable and thus would be better placed into the "nonportable" bucket.

Background: pip by default installs to the Scripts and Lib\site-packages directories. These are lost when upgrading Python. The obvious solution would be to use the mechanism that Scoop has and link these directories to persist\python.

Good idea, but instead of 'persist\python' I would recommend 'persist\python38' or more precisely 'persist\pythonXY' as micro updates have backward compatibility.