首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >anaconda Qt与系统Qt

anaconda Qt与系统Qt
EN

Unix & Linux用户
提问于 2018-01-05 02:54:16
回答 1查看 3.2K关注 0票数 7

巨蟒框架包括自己的Qt共享库以及其他库。由于框架的性质,它必须首先出现在PATH环境变量中,因此它的python二进制文件比系统的二进制文件更有优势。

当您想要将系统的Qt共享库用于与python无关的项目时,就会产生冲突。在编译Qt项目时,它将使用来自anaconda的qmake二进制以及它的共享库。

可以通过在qmake变量的路径前面加上PATH二进制文件来强制使用它,但是这并不适用于共享库。我试着改变LD_LIBRARY_PATH,但它一直在选择anaconda的。

我发现“解决方案”:

  1. LD_PRELOAD:强制使用Qt共享库的.so逐个添加到LD_PRELOAD env中来使用系统库。这样做的结果是乏味和费时。
  2. 混乱的Anaconda:删除所有与anaconda相关的内容,如建议的这里。如果您想要在python中开发GUI应用程序,这看起来太脏了,而且将来容易出错。
  3. Anaconda > System :使用anaconda而不是system。这似乎是一种错误的责任分配。与python无关的Qt项目不应该耦合到我的anaconda安装中。他们应该相互独立。
  4. 变更操作方式:我的shell没有将anaconda路径附加到PATH变量,而是有一个易于使用的脚本,在我需要它的时候,就像建议的这里那样,对它进行预置。问题是,我习惯于让我的python二进制文件随时可用,而且当我在不知不觉中使用系统的python二进制文件时,它很容易出错。
  5. 移动anaconda:暂时移动anaconda文件夹,以便在路径中找不到它。它是最快的,但是在我使用完系统Qt库之后,它太依赖我的内存来修复所有的东西。

Qt并不是anaconda默认包含的唯一“非python”包,因此任何先验的“真正”解决方案都可以应用于任何其他冲突的解决方案。

EN

回答 1

Unix & Linux用户

发布于 2019-03-27 09:06:30

默认情况下,简单不激活conda。修改.bashrc以激活conda,只有当您希望它被激活时。这样你就能把它和系统完全分开..。至少这可以在Linux和osx上工作。不知道窗户的事。

票数 -1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/414904

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档