【问题标题】:Virtualenv can not inherit GetSitePackages() AttributeVirtualenv 不能继承 GetSitePackages() 属性
【发布时间】:2023-04-07 18:47:01
【问题描述】:

我刚刚在 Mac OSX El Capitan 上的 VirtualEnv 下安装了 TensorFlow。现在我正在尝试通过 tensorflow.org 网站中给出的示例来理解结构。

我是 python 及其语法的新手。但据我所知,名为 getsitepackages() 的属性对于轻松列出模块的属性很重要。但是在el capitan 上使用其默认的python 和virtualenv 版本,virtualenv 似乎无法继承名为“site”的模块的getsitepackages() 属性。

因此我无法运行简单的示例命令 (python -c 'import site; print("\n".join(site.getsitepackages()))') 来定位 tensorflow 库。

我猜这是一个已知错误,但我找不到解决此问题的方法。我只是想知道是否有人已经提出并解决了这个问题?

附:在 virtualenv getsitepackages() 之外工作正常。但是在virtualenv中我得到以下错误

python -c 'import site; print("\n".join(site.getsitepackages()))'

Traceback (most recent call last):

File "< string >", line 1, in < module >

AttributeError: 'module' object has no attribute 'getsitepackages'

【问题讨论】:

  • 您是否在您创建的虚拟环境已激活的情况下运行它?

标签: python virtualenv osx-elcapitan tensorflow


【解决方案1】:

这似乎是 sites.py 的一个问题,它可以追溯到 2012 年。正如提到的 here

尝试使用不同的 python 版本创建 virtualenv。例如:

virtualenv -p python3 virtualenvname

值得检查您正在运行的 python 版本 (python --version)。这似乎只是python2.7 的问题 - 像python2.6 这样的早期版本没有遇到这个问题,但是它们缺少python2.7 中添加的许多有用的包。

我的建议是在python3python3.4 下运行它。 TensorFlow 似乎支持 python30.6.0 release

希望这会有所帮助!

【讨论】:

  • 我想让它直接与默认的 pip 和 python2.7 安装一起工作。正如@Hevlatska 推荐的那样,python3 和 pip3 安装解决了这个问题。
  • @ŞükrüOzan 如果您对解决方案感到满意,您介意接受它作为有效答案吗? :)
猜你喜欢
  • 2017-08-10
  • 1970-01-01
  • 2014-02-03
  • 1970-01-01
  • 2019-06-12
  • 2023-03-12
  • 2013-09-02
  • 1970-01-01
  • 2012-05-08
相关资源
最近更新 更多