PermissionError While Installing TensorFlow Using Virtualenv

瘦欲@ 提交于 2019-11-28 11:08:34

问题


I was installing tensorflow using virtualenv. The following commands worked fine.

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

But if I try:

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

I got PermissionError:

I tried the last command with sudo.

$ sudo pip3 install tensorflow

Then it seems like I can import tensorflow outside virtualenv. (Is it correct?)

How can I install tensorflow for python 3 only inside virtualenv?

By the way, I am using pip 9.0.1 for both python 2.7.12 and 3.5.2.

The version of virtualenv is 15.0.1.


回答1:


If your virtual environment is in python3. Running pip install tensorflow should install it in your python3 environment.

$ 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
>>> 

If you are running

virtualenv ~/.tensorflow/bin/activate

make sure virtualenv is for python3. And your virtual env will get created at ~/.tensorflow/bin/activate (Not sure if you want that). I'd suggest change that address to something simple, and make sure it does not contain the folder named as some of the libraries you want to import. It causes problems sometimes.

If you're trying to import tf in ipython3, you should also make sure that ipython is installed in the same environment. And if you run

ipython notebook

This will launch the default ipython (/usr/bin/ipython). You dont want that. So, run venv/bin/ipython3 instead




回答2:


For python2:

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

For python3:

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

Using these ways, I could successfully install tensorflow only inside virtualenvs.

Thank you so much @AshokaLella!



来源:https://stackoverflow.com/questions/44037759/permissionerror-while-installing-tensorflow-using-virtualenv

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!