Virtualenv无法继承GetSitePackages()属性

时间:2015-12-17 09:50:40

标签: python virtualenv osx-elcapitan tensorflow

我刚刚在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()))')来定位张量流库。

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

P.S。 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'

1 个答案:

答案 0 :(得分:2)

这似乎是sites.py的一个问题,可以追溯到2012年。如上所述here

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

virtuelnv -p python3 virtualenvname

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

我的建议是在python3python3.4下运行它。 TensorFlow似乎支持python3的{​​{1}}。

希望这有帮助!