当前位置: 首页 > 面试题库 >

安装Homebrew Python后,Python包在错误的位置?

宰宣
2023-03-14
问题内容

在将Homebrew的Python安装到具有已建立的Apple
Python的系统上之后,sys.path使用Homebrew的Python列出的最后一项是

/Library/Python/2.7/site-packages
/usr/local/lib/python2.7/site-package

这与我期望的顺序相反。不应该首先搜索Homebrew的软件包吗?(实际上,难道它不是
唯一要
搜索的地方吗?)这就是文档中所隐含的内容。它在哪里设置?我(或应该)如何更改它?

还是这是Brewed Python应该工作的方式?它是否旨在 防止重复的软件包, 并假设系统中的任何软件包site- packages都打算保留在该位置,除非明确卸载并随后安装(进入Brew的主机);有例外pipsetuptools
复制(在酿造Python的路径放在第一)。


问题答案:

那是预期的行为。其基本原理是,尽管事实上您现在正在使用新的自产Python,但您仍可以继续使用旧的已安装模块。

现在这有一些缺点,例如某些库,例如numpy,将无法在不同的Python版本上运行,因此,如果您已安装numpy,则它将从旧系统导入,site- packages并且将无法工作。

至少有两种更改方法sys.path

使用.pth文件:

Python将从一些内置位置(例如:〜/ Library / Python / 2.7 / lib / python / site-packages /
homebrew.pth)中进行选择。这sys.path是不理想的,但是具有Python
3不会选择的优点。它是当前推荐的方法。您可以使用以下方法实现此目的:

echo "$(brew --prefix)/lib/python2.7/site-packages" > ~/Library/Python/2.7/lib/python/site-packages/homebrew.pth

设置PYTHONPATH

这是的前提sys.path,它具有所有python版本都是全局的缺点,因此,如果要使用其他python版本,则不建议这样做。您可以通过添加到您的.bash_profile

export PYTHONPATH=`brew --prefix`/lib/python2.7/site-packages:$PYTHONPATH

我个人将选项2与homebrew-python一起使用(我现在使用并推荐Anaconda)。我的原因是我当时并不关心系统的Python或Python 3。



 类似资料:
  • 我正在使用python2.7并试图使用pip安装scrapy,但得到以下结果:异常:回溯(最近一次调用):文件“/usr/local/lib/python2.7/dist-packages/pip/basecommand.py”,第215行,主状态=self.run(选项,args)文件“/usr/local/lib/python2.7/dist-packages/pip/commands/ins

  • 我刚刚在我的MAC(约塞米蒂)上安装了Python3.4.3。我需要安装几个lxml,但是每次输入:pip install/“”/时,我都会得到错误消息。我已经遵循了多个教程,并且安装了pip。MAC已经有Python2.7.,但我安装了3.4.3。版本,不确定这是否是问题所在。错误消息为: brunos-macbook-pro:~brunopaesleme$pip install/macinto

  • 我在尝试安装python包时遇到此错误: 错误:由于环境错误无法安装包:HTTPSConnectionpool(host='files.pythonhosted.org',port=443):最大重试超过了url: /packages/f2/12/37c09c37d7ac2bdb6169d5b9409a8e64770a997412edcccc689115d63b97/catboost-0.16-c

  • 为我的JavaFX项目安装了scene builder,安装完成后显示以下错误:, 场景构建器的版本:场景Builder-8.3.0.exe从http://gluonhq.com/labs/scene-builder/下载 我试图集成与Eclipse霓虹灯4.6和Java1.8.0版本与win 7专业64位操作系统 此外,我还尝试从windows提供exe路径--

  • 问题内容: 我只是在一个文件夹中运行一个简单的文件夹,由于某种原因,它将所有子依赖项添加到父文件夹中。见所附图片 问题答案: 是的,这是npm 3.x中的一项新功能,您可以在此处阅读: https://github.com/npm/npm/releases/tag/v3.0.0 现在,您的依赖项将 最大程度地 安装为 flat 。在可能的情况下,所有依赖项及其依赖项和THEIR依赖项都将无嵌套地安

  • 我正在开发一个应用程序,如果我从android studio运行到我的设备上,它绝对运行良好。如果我将我的apk放入google drive并与其他人共享,它会显示错误< code >(“Android apk安装失败。安装包错误,无法安装。)当他们尝试安装应用程序时。不是署名的apk。它仍处于原型阶段(调试模式)。 请让我知道我哪里做错了。

  • 我的akeneo安装工作非常好,没有任何错误。但当我想启动应用程序时,会出现以下错误: 警告:需要(web/akeneo/pim-社区-标准/var/ache/prod/Proxy/orm/Proxies/__CG__PimBundleCatalogBundleEntityLocale.php):无法打开流:在web/akeneo/pim-社区-标准/供应商/教义/通用/lib/教义/通用/Pro

  • 我有一个我想分发的python项目。我阅读了多个关于如何编写我的setup.py文件以及如何安装产生的车轮的教程:示例项目示例、setup.py教程、wheel doc、wheel install或wheel install。 我的项目的结构是: 我像下面的那样构建我的车轮,然后将生成的车轮放到项目之外的另一个文件夹中,并执行操作。我还尝试了 问题是,当我查看我的python文件夹时,没有: 文件