terminator icon indicating copy to clipboard operation
terminator copied to clipboard

Update documentation for manual installation

Open wellic opened this issue 4 years ago • 11 comments

I updated code and reinstalled last version from master.

# python3 setup.py install --record=install-files.txt --prefix=/usr/local

But I got error when starting:

$ terminator
Traceback (most recent call last):
  File "/usr/local/bin/terminator", line 4, in <module>
    __import__('pkg_resources').run_script('terminator==1.92', 'terminator')
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 658, in run_script
    self.require(requires)[0].run_script(script_name, ns)
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 1429, in run_script
    .format(**locals()),
pkg_resources.ResolutionError: Script 'scripts/terminator' not found in metadata at None

I found using git bisect last good commit e4cd22b7 after this commit I can't start application. Could you please check or update INSTALLATION.md how to install terminator correctly. I am using UBUNTU 18.04.

Now I am using version from good commit: git co e4cd22b7

wellic avatar May 12 '20 09:05 wellic

Can you throw up a github link to that commit?

mattrose avatar May 12 '20 14:05 mattrose

according to user: good: e4cd22b7bd286c62c50b80479344aea1f3a7cd5b bad: 8ae32539fe13f05b30233c36b93934f964275d24

Haven't tested manual installation yet

lazyfrosch avatar May 12 '20 14:05 lazyfrosch

Ah, I was wondering if it had to do with the setuptools integration.

mattrose avatar May 12 '20 15:05 mattrose

This is definitely a problem with Python 3.6 or older setuptools.

python3             3.6.7-1~18.04
python3-setuptools  39.0.1-2

The script is generated as a wrapper, and not the whole script is copied:

$ cat /usr/local/bin/terminator 
#!/usr/bin/python3
# EASY-INSTALL-SCRIPT: 'terminator==1.92','terminator'
__requires__ = 'terminator==1.92'
__import__('pkg_resources').run_script('terminator==1.92', 'terminator')

lazyfrosch avatar May 12 '20 19:05 lazyfrosch

Okay this kind of wrapper script actually should work, what I did on Ubuntu 18.04:

$ python3 setup.py build
...
$ python3 setup.py install
...
$ find /usr/local -name terminator
/usr/local/bin/terminator
/usr/local/lib/python3.6/dist-packages/terminator-1.92-py3.6.egg/EGG-INFO/scripts/terminator
/usr/local/lib/python3.6/dist-packages/terminator-1.92-py3.6.egg/share/terminator

$ terminator -u --version
terminator 1.92 (of course from git)

Can you please verify this again, maybe check this EGG-INFO directory?

In the older versions /usr/local/bin/terminator is a wrapper and /usr/local/lib/python3.6/dist-packages/terminator-1.92-py3.6.egg/EGG-INFO/scripts/terminator the script.

lazyfrosch avatar May 12 '20 20:05 lazyfrosch

Thank you. All OK.

I uninstalled.

sudo python3  setup.py uninstall --manifest=install-files.txt

Next, I deleted everything that I found in /usr/local

sudo find /usr/local -name terminator*

I pulled master and installed again:

$ git checkout master
$ git pull
$ sudo python3 setup.py build
$ sudo python3 setup.py install --record=install-files.txt --prefix=/usr/local

Result - successful

$terminator --version -u
terminator 1.92

I think that part of the previous installations disrupted normal operation.

The problem can be closed. I think it would be nice to add in README that in case of a failure during installation, the user has to make sure that there are no files left from the previous installation. I missed it on my mind.

@lazyfrosch Thank you for your help.

wellic avatar May 13 '20 06:05 wellic

I'm thinking about updating the clean command, and adding a clearer explanation to INSTALL.md

After #70 that is.

lazyfrosch avatar May 13 '20 07:05 lazyfrosch

Also for ubuntu I added some packages

sudo apt install libcairo2-dev python3-dev  \
 python3-gi python3-psutil python3-configobj gir1.2-keybinder-3.0 gettext intltool

wellic avatar May 13 '20 07:05 wellic

Adding a clean target would be a nice touch, as I tend to run git clean -fdx between setup.py commands, but that's not available if you just got an archive, and not cloned a git repo.

mattrose avatar May 13 '20 18:05 mattrose

Came upon this extension to setuptools yesterday: https://github.com/pypa/setuptools/issues/1347#issuecomment-387802255

lazyfrosch avatar May 13 '20 19:05 lazyfrosch

The wrapper script only solved part of the problem. As well, None of the assets were being installed (see #227). I managed to find the magic invocation that installs assets where the system expects them to be. Can we close this bug, and re-open one for the clean target? I always have to read through this bug to figure out why it's not closed yet.

mattrose avatar Oct 09 '20 15:10 mattrose