Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
875 views
in Technique[技术] by (71.8m points)

pip - Upgraded Python; Do I have to reinstall all site-packages manually?

I have upraded my Linux distro recently. Python 3.5 was replaced by Python 3.6.

All site packages I have installed with pip3 are still in the /usr/lib/python3.5/site-packages directory and Python does not find them there now, because it looks in .../python3.6/site-packages obviously.

I see the directory contents and I could manually install them again, but that does not look to me like the right way to do it. I could move the contents to the new directory, but again, this seems to me incorrect either.

How am I supposed to handle it properly?

Should I have prepared a pip3 freeze list before the upgrade?

I tried to search, but the keywords are probably too general and got many unrelated answers.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

Python 3.5 was replaced by Python 3.6. But you still have the backup option of using python 3.5.

If you want to use python 3.6 you will have to reinstall all pip packages again for python 3.6. And it makes sense.

Say you were changing from 2.7 to 3.5. You would want to preserve both the environments separately. Hence 3.6 environment is different from 3.5.

A quick way to do this would be to pip freeze for 3.5 and then install those dependencies for 3.6.

pip freeze > reqs.txt

upgrade

pip install -r reqs.txt

Since you don't have this option anymore, first try and list all packages in your python3.5

for that you can install pip3.5 as answered by @kabanus.

sudo apt-get install python3=3.5.1*
sudo python3.5 easy_install.py pip

Also it's advised to use virtual environment per project so you can maintain separate environments for each of them.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...