anaconda Qt vs system Qt
Clash Royale CLAN TAG#URR8PPP
up vote
1
down vote
favorite
The anaconda python framework includes its own Qt shared libraries, among other ones. Because of the nature of the framework, it must appear first in the PATH
environment variable so its python binaries have preference over the system's ones.
This creates a conflict when one would like to use the system's Qt shared libraries for projects having nothing to do with python. When compiling a Qt project, it will use the qmake
binary from anaconda along with its shared libraries.
One can force to use the qmake
binary by prepending its path to the PATH
variable, but this doesn't work with the shared libraries. I tried changing the LD_LIBRARY_PATH
but it keeps choosing the anaconda ones.
"Solutions" I found:
LD_PRELOAD: Force the .so that uses the Qt shared libs to use the system ones by adding them one by one to the LD_PRELOAD env var. This ended up being tedious and time consuming.
Mess with Anaconda: Delete everything Qt related from anaconda as advised here. This seems too dirty and error prone in the future if one wants to develop GUI applications in python.
Anaconda Qt > System Qt: Use the anaconda Qt instead of the system Qt. This seems like a wrong assignment of responsibilities. My Qt project that has nothing to do with python should not be coupled to my anaconda install. They should be independent of one another.
Change modus operandi: Instead of all my shells having the anaconda path prepended to thePATH
variable, have an easily available script that prepends it whenever I need it, as advised here. The problems are that I'm used to having my python binaries always readily available and that it's prone to mistakes when I'm using the system's python binaries unknowingly.
Move anaconda: Temporarily moving the anaconda folder so it can't be found in the path. It's the quickest one but it relies too much on my memory to fix everything after I finish using the system Qt libraries.
Qt is not the only "not python" package included by anaconda by default, so any "real" solution a priori may be applied to any other conflicting ones.
python path dynamic-linking qt shared-library
add a comment |Â
up vote
1
down vote
favorite
The anaconda python framework includes its own Qt shared libraries, among other ones. Because of the nature of the framework, it must appear first in the PATH
environment variable so its python binaries have preference over the system's ones.
This creates a conflict when one would like to use the system's Qt shared libraries for projects having nothing to do with python. When compiling a Qt project, it will use the qmake
binary from anaconda along with its shared libraries.
One can force to use the qmake
binary by prepending its path to the PATH
variable, but this doesn't work with the shared libraries. I tried changing the LD_LIBRARY_PATH
but it keeps choosing the anaconda ones.
"Solutions" I found:
LD_PRELOAD: Force the .so that uses the Qt shared libs to use the system ones by adding them one by one to the LD_PRELOAD env var. This ended up being tedious and time consuming.
Mess with Anaconda: Delete everything Qt related from anaconda as advised here. This seems too dirty and error prone in the future if one wants to develop GUI applications in python.
Anaconda Qt > System Qt: Use the anaconda Qt instead of the system Qt. This seems like a wrong assignment of responsibilities. My Qt project that has nothing to do with python should not be coupled to my anaconda install. They should be independent of one another.
Change modus operandi: Instead of all my shells having the anaconda path prepended to thePATH
variable, have an easily available script that prepends it whenever I need it, as advised here. The problems are that I'm used to having my python binaries always readily available and that it's prone to mistakes when I'm using the system's python binaries unknowingly.
Move anaconda: Temporarily moving the anaconda folder so it can't be found in the path. It's the quickest one but it relies too much on my memory to fix everything after I finish using the system Qt libraries.
Qt is not the only "not python" package included by anaconda by default, so any "real" solution a priori may be applied to any other conflicting ones.
python path dynamic-linking qt shared-library
Did you executedldconfig
command after settingLD_LIBRARY_PATH
so the changes get applied? I always forget to do it.
â r1verside
Jan 5 at 3:45
1
File bugs with the anaconda Qt devs asking them to stop bundling stuff with their software. This hostility to the OS, the attitude that the system is nothing but a terrible obstruction to our glorious code which must be ignored, worked around, and subverted is the worst thing about python (and ruby and some other languages). Bundling is not only lazy and arrogant, it's actively harmful.
â cas
Jan 5 at 3:47
add a comment |Â
up vote
1
down vote
favorite
up vote
1
down vote
favorite
The anaconda python framework includes its own Qt shared libraries, among other ones. Because of the nature of the framework, it must appear first in the PATH
environment variable so its python binaries have preference over the system's ones.
This creates a conflict when one would like to use the system's Qt shared libraries for projects having nothing to do with python. When compiling a Qt project, it will use the qmake
binary from anaconda along with its shared libraries.
One can force to use the qmake
binary by prepending its path to the PATH
variable, but this doesn't work with the shared libraries. I tried changing the LD_LIBRARY_PATH
but it keeps choosing the anaconda ones.
"Solutions" I found:
LD_PRELOAD: Force the .so that uses the Qt shared libs to use the system ones by adding them one by one to the LD_PRELOAD env var. This ended up being tedious and time consuming.
Mess with Anaconda: Delete everything Qt related from anaconda as advised here. This seems too dirty and error prone in the future if one wants to develop GUI applications in python.
Anaconda Qt > System Qt: Use the anaconda Qt instead of the system Qt. This seems like a wrong assignment of responsibilities. My Qt project that has nothing to do with python should not be coupled to my anaconda install. They should be independent of one another.
Change modus operandi: Instead of all my shells having the anaconda path prepended to thePATH
variable, have an easily available script that prepends it whenever I need it, as advised here. The problems are that I'm used to having my python binaries always readily available and that it's prone to mistakes when I'm using the system's python binaries unknowingly.
Move anaconda: Temporarily moving the anaconda folder so it can't be found in the path. It's the quickest one but it relies too much on my memory to fix everything after I finish using the system Qt libraries.
Qt is not the only "not python" package included by anaconda by default, so any "real" solution a priori may be applied to any other conflicting ones.
python path dynamic-linking qt shared-library
The anaconda python framework includes its own Qt shared libraries, among other ones. Because of the nature of the framework, it must appear first in the PATH
environment variable so its python binaries have preference over the system's ones.
This creates a conflict when one would like to use the system's Qt shared libraries for projects having nothing to do with python. When compiling a Qt project, it will use the qmake
binary from anaconda along with its shared libraries.
One can force to use the qmake
binary by prepending its path to the PATH
variable, but this doesn't work with the shared libraries. I tried changing the LD_LIBRARY_PATH
but it keeps choosing the anaconda ones.
"Solutions" I found:
LD_PRELOAD: Force the .so that uses the Qt shared libs to use the system ones by adding them one by one to the LD_PRELOAD env var. This ended up being tedious and time consuming.
Mess with Anaconda: Delete everything Qt related from anaconda as advised here. This seems too dirty and error prone in the future if one wants to develop GUI applications in python.
Anaconda Qt > System Qt: Use the anaconda Qt instead of the system Qt. This seems like a wrong assignment of responsibilities. My Qt project that has nothing to do with python should not be coupled to my anaconda install. They should be independent of one another.
Change modus operandi: Instead of all my shells having the anaconda path prepended to thePATH
variable, have an easily available script that prepends it whenever I need it, as advised here. The problems are that I'm used to having my python binaries always readily available and that it's prone to mistakes when I'm using the system's python binaries unknowingly.
Move anaconda: Temporarily moving the anaconda folder so it can't be found in the path. It's the quickest one but it relies too much on my memory to fix everything after I finish using the system Qt libraries.
Qt is not the only "not python" package included by anaconda by default, so any "real" solution a priori may be applied to any other conflicting ones.
python path dynamic-linking qt shared-library
asked Jan 5 at 2:54
Alechan
62
62
Did you executedldconfig
command after settingLD_LIBRARY_PATH
so the changes get applied? I always forget to do it.
â r1verside
Jan 5 at 3:45
1
File bugs with the anaconda Qt devs asking them to stop bundling stuff with their software. This hostility to the OS, the attitude that the system is nothing but a terrible obstruction to our glorious code which must be ignored, worked around, and subverted is the worst thing about python (and ruby and some other languages). Bundling is not only lazy and arrogant, it's actively harmful.
â cas
Jan 5 at 3:47
add a comment |Â
Did you executedldconfig
command after settingLD_LIBRARY_PATH
so the changes get applied? I always forget to do it.
â r1verside
Jan 5 at 3:45
1
File bugs with the anaconda Qt devs asking them to stop bundling stuff with their software. This hostility to the OS, the attitude that the system is nothing but a terrible obstruction to our glorious code which must be ignored, worked around, and subverted is the worst thing about python (and ruby and some other languages). Bundling is not only lazy and arrogant, it's actively harmful.
â cas
Jan 5 at 3:47
Did you executed
ldconfig
command after setting LD_LIBRARY_PATH
so the changes get applied? I always forget to do it.â r1verside
Jan 5 at 3:45
Did you executed
ldconfig
command after setting LD_LIBRARY_PATH
so the changes get applied? I always forget to do it.â r1verside
Jan 5 at 3:45
1
1
File bugs with the anaconda Qt devs asking them to stop bundling stuff with their software. This hostility to the OS, the attitude that the system is nothing but a terrible obstruction to our glorious code which must be ignored, worked around, and subverted is the worst thing about python (and ruby and some other languages). Bundling is not only lazy and arrogant, it's actively harmful.
â cas
Jan 5 at 3:47
File bugs with the anaconda Qt devs asking them to stop bundling stuff with their software. This hostility to the OS, the attitude that the system is nothing but a terrible obstruction to our glorious code which must be ignored, worked around, and subverted is the worst thing about python (and ruby and some other languages). Bundling is not only lazy and arrogant, it's actively harmful.
â cas
Jan 5 at 3:47
add a comment |Â
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f414904%2fanaconda-qt-vs-system-qt%23new-answer', 'question_page');
);
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Did you executed
ldconfig
command after settingLD_LIBRARY_PATH
so the changes get applied? I always forget to do it.â r1verside
Jan 5 at 3:45
1
File bugs with the anaconda Qt devs asking them to stop bundling stuff with their software. This hostility to the OS, the attitude that the system is nothing but a terrible obstruction to our glorious code which must be ignored, worked around, and subverted is the worst thing about python (and ruby and some other languages). Bundling is not only lazy and arrogant, it's actively harmful.
â cas
Jan 5 at 3:47