【问题标题】:PermissionError While Installing TensorFlow Using Virtualenv使用 Virtualenv 安装 TensorFlow 时出现 PermissionError
【发布时间】:2017-10-17 16:16:19
【问题描述】:

我正在使用 virtualenv 安装 tensorflow。以下命令运行良好。

$ virtualenv ~/.tensorflow/bin/activate
$ pip install --upgrade tensorflow

但如果我尝试:

$ virtualenv ~/.tensorflow/bin/activate
$ pip3 install tensorflow

我得到了 PermissionError:

我用 sudo 尝试了最后一个命令。

$ sudo pip3 install tensorflow

然后看来我可以在 virtualenv 之外导入 tensorflow。 (对吗?)

如何仅在 virtualenv 中安装适用于 python 3 的 tensorflow?

顺便说一句,我对 python 2.7.12 和 3.5.2 都使用 pip 9.0.1。

virtualenv 的版本是 15.0.1。

【问题讨论】:

  • 我认为pip3 指向安装在/home/gyuhyeon/.local 中的python3,而pip 指向~/.tensorflow/bin/pip。您可以使用which pip3 进行检查
  • @AshokaLella 我得到了这个:/home/gyuhyeon/.local/bin/pip3。有什么问题吗?
  • @AshokaLella 好像不对...我该如何解决这个问题?
  • 如果你的虚拟环境是python3.运行 pip install tesnsorflow 应该将它安装在你的 python3 环境中。
  • @AshokaLella 我无法在 ipython3 中导入 tensorflow。而且~/.tensorflow/bin/下没有pip3...

标签: tensorflow pip virtualenv python-3.5


【解决方案1】:

如果你的虚拟环境是在 python3.运行 pip install tensorflow 应该会在你的 python3 环境中安装它。

$ virtualenv3 venv 
$ source venv/bin/activate
(venv)$ pip install tensorflow
(venv)$ pip freeze
appdirs==1.4.3
numpy==1.12.1
packaging==16.8
protobuf==3.3.0
pyparsing==2.2.0
six==1.10.0
tensorflow==1.1.0
Werkzeug==0.12.2
(venv) $>python
Python 3.6.0 (default, Jan 16 2017, 12:12:55) 
[GCC 6.3.1 20170109] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
>>> 

如果你正在跑步

virtualenv ~/.tensorflow/bin/activate

确保 virtualenv 适用于 python3。您的虚拟环境将在~/.tensorflow/bin/activate 创建(不确定您是否需要)。我建议将该地址更改为简单的地址,并确保它不包含命名为您要导入的某些库的文件夹。它有时会引起问题。

如果您尝试在 ipython3 中导入 tf,您还应该确保 ipython 安装在同一环境中。如果你运行

ipython notebook

这将启动默认的 ipython (/usr/bin/ipython)。你不想要那个。所以,改为运行venv/bin/ipython3

【讨论】:

  • 我没有 virtualevn3...?尽管它说“python3-virtualenv 已经是最新版本(15.0.1+ds-3ubuntu1)。”
  • python3-virtualenv 与 virtualenv3 相同。我正在使用不同的操作系统
  • 因为您的建议,我可以解决问题!如果我回答我找到的解决方案,它会找到吗?
  • 是的,没问题
【解决方案2】:

对于python2:

$ virtualenv --system-site-packages ~/.tensorflow
$ source ~/.tensorflow/bin/activate
(.tensorflow)$ pip install --upgrade tensorflow

对于python3:

$ virtualenv -p python3.5 --system-site-packages ~/.tensorflow3
$ source ~/.tensorflow3/bin/activate
(.tensorflow3)$ pip3 install --upgrade tensorflow

使用这些方法,我只能在 virtualenvs 中成功安装 tensorflow。

非常感谢@AshokaLella!

【讨论】:

  • source ~/.tensorflow3/bin/activate 工作。离开文件扩展名有效。我的输出是:(tensorflow) stephen@machine:~/Projects/pluralsight/tensorflow$
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-19
  • 2015-02-22
  • 1970-01-01
相关资源
最近更新 更多