1

I want to install universe (python module) on my debian os. Universe needs golang1.5+. The one in the apt repositories is to old, so I installed it from the official website in /usr/bin. I can access it using the command /usr/bin/go/bin. Then I also added it to my PATH with export PATH=$PATH:/usr/bin/go/bin. Now I can just type go to run go.

$ go version
go version go1.7.4 linux/amd64

Now I want to install universe the python module so: sudo pip install universe. This does not work unfortunately.

This what it gives:

Failed building wheel for go-vncdriver
Running setup.py clean for go-vncdriver
Failed to build go-vncdriver
Installing collected packages: go-vncdriver, PyYAML, universe, requests
Running setup.py install for go-vncdriver ... error
Complete output from command /usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-hND5Mt/go-vncdriver/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-Ob53Rd-record/install-record.txt --single-version-externally-managed --compile:
running install
running build
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/tmp/pip-build-hND5Mt/go-vncdriver/setup.py", line 79, in <module>
    setup_requires=['numpy'],
  File "/usr/lib/python2.7/distutils/core.py", line 151, in setup
    dist.run_commands()
  File "/usr/lib/python2.7/distutils/dist.py", line 953, in run_commands
    self.run_command(cmd)
  File "/usr/lib/python2.7/distutils/dist.py", line 972, in run_command
    cmd_obj.run()
  File "/usr/local/lib/python2.7/dist-packages/setuptools/command/install.py", line 61, in run
    return orig.install.run(self)
  File "/usr/lib/python2.7/distutils/command/install.py", line 601, in run
    self.run_command('build')
  File "/usr/lib/python2.7/distutils/cmd.py", line 326, in run_command
    self.distribution.run_command(command)
  File "/usr/lib/python2.7/distutils/dist.py", line 972, in run_command
    cmd_obj.run()
  File "/tmp/pip-build-hND5Mt/go-vncdriver/setup.py", line 24, in run
    self.check_version()
  File "/tmp/pip-build-hND5Mt/go-vncdriver/setup.py", line 43, in check_version
    (DETAIL: original error: {}.)""".format(' '.join(cmd), e))
__main__.BuildError:

Unable to execute 'go help build'. HINT: are you sure `go` is installed?

go_vncdriver requires Go version 1.5 or newer. Here are some hints for Go installation:

- Ubuntu 14.04: The default golang is too old, but you can get a modern one via: "sudo add-apt-repository ppa:ubuntu-lxc/lxd-stable && sudo apt-get update && sudo apt-get install golang"
- Ubuntu 16:04: "sudo apt-get install golang"
- OSX, El Capitan or newer: "brew install golang"
- Other: you can obtain a recent Go build from https://golang.org/doc/install

(DETAIL: original error: [Errno 13] Permission denied.)

----------------------------------------
Command "/usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-hND5Mt/go-vncdriver/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-Ob53Rd-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-hND5Mt/go-vncdriver/
Tristan
  • 267

1 Answers1

1

When you run a command in a subshell using sudo the $PATH environmental variable is not necessarily the same. Consider:

echo $PATH

vs

sudo sh #sub-shell as super user
echo $PATH

These two echo commands may not echo the same value for the $PATH. You can explicitly set your path before running the subshell, or you can add the go binary into the path of your root user.

For option one, the following:

sudo "PATH=$PATH" pip install universe

should work... see this other answer on this subject.

111---
  • 4,516
  • 3
  • 30
  • 52