anaconda Qt vs system Qt

The name of the pictureThe name of the pictureThe name of the pictureClash 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:




  1. 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.


  2. 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.


  3. 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.


  4. Change modus operandi: Instead of all my shells having the anaconda path prepended to the PATH 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.


  5. 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.







share|improve this question




















  • 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




    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














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:




  1. 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.


  2. 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.


  3. 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.


  4. Change modus operandi: Instead of all my shells having the anaconda path prepended to the PATH 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.


  5. 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.







share|improve this question




















  • 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




    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












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:




  1. 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.


  2. 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.


  3. 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.


  4. Change modus operandi: Instead of all my shells having the anaconda path prepended to the PATH 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.


  5. 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.







share|improve this question












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:




  1. 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.


  2. 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.


  3. 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.


  4. Change modus operandi: Instead of all my shells having the anaconda path prepended to the PATH 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.


  5. 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.









share|improve this question











share|improve this question




share|improve this question










asked Jan 5 at 2:54









Alechan

62




62











  • 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




    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






  • 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















active

oldest

votes











Your Answer







StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "106"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
convertImagesToLinks: false,
noModals: false,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);








 

draft saved


draft discarded


















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



































active

oldest

votes













active

oldest

votes









active

oldest

votes






active

oldest

votes










 

draft saved


draft discarded


























 


draft saved


draft discarded














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













































































Popular posts from this blog

How to check contact read email or not when send email to Individual?

Bahrain

Postfix configuration issue with fips on centos 7; mailgun relay