You are not logged in.
This is my first time posting here and I'd like to start by saying that Arch has been a boon to my productivity as an engineer. I couldn't see myself switching to another distro. Love the work you guys are doing!
That being said, I'm having some issues with Pacman and Python. There are two main things that I've noticed:
1) When I do a package upgrade, many times there will be conflicts between the newly installed python packages and new dependencies. I think this is related to me pip-installing a package that ends up as a dependency in the repositories. This is admittedly a minor annoyance, as I can delete the local copy and that generally fixes the issue. Is there some type of best practice for this? Always use a virtualenv, I assume? Is that documented somewhere?
2) This is a bigger annoyance that I haven't figured out yet. I have been using virtualenvs for my local development, and I was up until recently using Python 3.4. However, since the upgrade to 3.5 in the repos, it has broken all of my virtualenvs. I'm going to try to figure out why this has happened and fix it. I propose in the future that when an upgrade to python occurs, we shouldn't remove the old version, and instead just install the new version. Although, I understand there may be a very good reason for why it was replaced. The error I'm getting is that the libpython3.4.m.so.1.0 file cannot be found.
Thanks everyone.
Last edited by jnadro52 (2015-10-08 14:41:40)
Offline
1) When I do a package upgrade, many times there will be conflicts between the newly installed python packages and new dependencies. I think this is related to me pip-installing a package that ends up as a dependency in the repositories. This is admittedly a minor annoyance, as I can delete the local copy and that generally fixes the issue. Is there some type of best practice for this? Always use a virtualenv, I assume? Is that documented somewhere?
Don't 'sudo pip install' anything. Either use a virtualenv, 'pip install --user' or create a proper PKGBUILD to install it system-wide. I use all three ways depending on what I'm working on.
2) This is a bigger annoyance that I haven't figured out yet. I have been using virtualenvs for my local development, and I was up until recently using Python 3.4. However, since the upgrade to 3.5 in the repos, it has broken all of my virtualenvs. I'm going to try to figure out why this has happened and fix it. I propose in the future that when an upgrade to python occurs, we shouldn't remove the old version, and instead just install the new version. Although, I understand there may be a very good reason for why it was replaced. The error I'm getting is that the libpython3.4.m.so.1.0 file cannot be found.
If you are using mkvirtualenv, just
cd <path to project>
mkvirtualenv -a . <name of virtualenv>
pip install -U -r requirements.txtThat should upgrade your virtualenv and reinstall your dependencies in place.
Arch is leading edge, so you won't find old versions of packages (ie. python 3.4) alongside new versions, nor will that ever happen except in rare cases like the python2/3 split a number of years ago.
Welcome to the forums :-)
Scott
Offline
Thanks so much, I've followed your steps and have confirmed these projects are now functioning. Is there any way I can mark this as resolved? I might be blind but I'm missing it.
Last edited by jnadro52 (2015-10-07 18:47:45)
Offline
Edit your first post. There is an option to change the title. Prepend [SOLVED].
Nothing is too wonderful to be true, if it be consistent with the laws of nature -- Michael Faraday
The shortest way to ruin a country is to give power to demagogues.— Dionysius of Halicarnassus
---
How to Ask Questions the Smart Way
Offline