AssertionError: Egg-link .. does not match install

2019-03-26 06:40发布

AssertionError: Egg-link /home/daniel/other-rb/reviewboard does not match installed location of ReviewBoard (at /home/daniel/reviewboard)

I believe this was caused by me installing a package at an additional location using the same virtualenv.

How can I fix this problem? I'm guessing I need to redirect the Egg-link to match the installed location?

Stack trace:

(reviewboard-3.0) daniel@beepboop ~/reviewboard $ ./setup.py develop
/home/daniel/envs/reviewboard-3.0/local/lib/python2.7/site-packages/setuptools/dist.py:334: UserWarning: Normalizing '4.0alpha0' to '4.0a0'
  normalized_version,
running develop
Requirement already up-to-date: setuptools in /home/daniel/envs/reviewboard-3.0/lib/python2.7/site-packages
Requirement already up-to-date: appdirs>=1.4.0 in /home/daniel/envs/reviewboard-3.0/lib/python2.7/site-packages (from setuptools)
Requirement already up-to-date: packaging>=16.8 in /home/daniel/envs/reviewboard-3.0/lib/python2.7/site-packages (from setuptools)
Requirement already up-to-date: six>=1.6.0 in /usr/lib/python2.7/dist-packages (from setuptools)
Requirement already up-to-date: pyparsing in /home/daniel/envs/reviewboard-3.0/lib/python2.7/site-packages (from packaging>=16.8->setuptools)
Requirement already up-to-date: pip in /home/daniel/envs/reviewboard-3.0/lib/python2.7/site-packages
Obtaining file:///home/daniel/reviewboard
Requirement already satisfied: django-haystack<=2.4.999,>=2.3.1 in /usr/local/lib/python2.7/dist-packages (from ReviewBoard==4.0a0.dev0)
Requirement already satisfied: django-multiselectfield in /usr/local/lib/python2.7/dist-packages (from ReviewBoard==4.0a0.dev0)
Requirement already satisfied: Django<1.6.999,>=1.6.11 in /usr/local/lib/python2.7/dist-packages (from ReviewBoard==4.0a0.dev0)
Requirement already satisfied: django_evolution<=0.7.999,>=0.7.6 in /usr/local/lib/python2.7/dist-packages (from ReviewBoard==4.0a0.dev0)
Requirement already satisfied: Djblets<=0.10.999,>=0.10a0.dev in /home/daniel/djblets (from ReviewBoard==4.0a0.dev0)
Requirement already satisfied: docutils in /usr/local/lib/python2.7/dist-packages (from ReviewBoard==4.0a0.dev0)
Requirement already satisfied: markdown<2.4.999,>=2.4.0 in /usr/local/lib/python2.7/dist-packages (from ReviewBoard==4.0a0.dev0)
Requirement already satisfied: mimeparse>=0.1.3 in /usr/local/lib/python2.7/dist-packages (from ReviewBoard==4.0a0.dev0)
Requirement already satisfied: paramiko>=1.12 in /usr/lib/python2.7/dist-packages (from ReviewBoard==4.0a0.dev0)
Requirement already satisfied: pycrypto>=2.6 in /usr/lib/python2.7/dist-packages (from ReviewBoard==4.0a0.dev0)
Requirement already satisfied: Pygments>=2.1 in /usr/local/lib/python2.7/dist-packages (from ReviewBoard==4.0a0.dev0)
Requirement already satisfied: python-dateutil==1.5 in /usr/local/lib/python2.7/dist-packages (from ReviewBoard==4.0a0.dev0)
Requirement already satisfied: python-memcached in /usr/local/lib/python2.7/dist-packages (from ReviewBoard==4.0a0.dev0)
Requirement already satisfied: pytz in /usr/local/lib/python2.7/dist-packages (from ReviewBoard==4.0a0.dev0)
Requirement already satisfied: Whoosh>=2.6 in /usr/local/lib/python2.7/dist-packages (from ReviewBoard==4.0a0.dev0)
Requirement already satisfied: pillowfight in /usr/local/lib/python2.7/dist-packages (from Djblets<=0.10.999,>=0.10a0.dev->ReviewBoard==4.0a0.dev0)
Requirement already satisfied: django-pipeline==1.6.9 in /usr/local/lib/python2.7/dist-packages (from Djblets<=0.10.999,>=0.10a0.dev->ReviewBoard==4.0a0.dev0)
Requirement already satisfied: feedparser>=5.1.2 in /usr/lib/python2.7/dist-packages (from Djblets<=0.10.999,>=0.10a0.dev->ReviewBoard==4.0a0.dev0)
Requirement already satisfied: dnspython>=1.14.0 in /usr/local/lib/python2.7/dist-packages (from Djblets<=0.10.999,>=0.10a0.dev->ReviewBoard==4.0a0.dev0)
Requirement already satisfied: publicsuffix>=1.1 in /usr/local/lib/python2.7/dist-packages (from Djblets<=0.10.999,>=0.10a0.dev->ReviewBoard==4.0a0.dev0)
Requirement already satisfied: six>=1.4.0 in /usr/lib/python2.7/dist-packages (from python-memcached->ReviewBoard==4.0a0.dev0)
Requirement already satisfied: Pillow>=3.4.2 in /usr/local/lib/python2.7/dist-packages (from pillowfight->Djblets<=0.10.999,>=0.10a0.dev->ReviewBoard==4.0a0.dev0)
Requirement already satisfied: olefile in /usr/local/lib/python2.7/dist-packages (from Pillow>=3.4.2->pillowfight->Djblets<=0.10.999,>=0.10a0.dev->ReviewBoard==4.0a0.dev0)
Installing collected packages: ReviewBoard
  Found existing installation: ReviewBoard 4.0a0.dev0
Exception:
Traceback (most recent call last):
  File "/home/daniel/envs/reviewboard-3.0/local/lib/python2.7/site-packages/pip/basecommand.py", line 215, in main
    status = self.run(options, args)
  File "/home/daniel/envs/reviewboard-3.0/local/lib/python2.7/site-packages/pip/commands/install.py", line 342, in run
    prefix=options.prefix_path,
  File "/home/daniel/envs/reviewboard-3.0/local/lib/python2.7/site-packages/pip/req/req_set.py", line 778, in install
    requirement.uninstall(auto_confirm=True)
  File "/home/daniel/envs/reviewboard-3.0/local/lib/python2.7/site-packages/pip/req/req_install.py", line 703, in uninstall
    '(at %s)' % (link_pointer, self.name, dist.location)
AssertionError: Egg-link /home/daniel/other-rb/reviewboard does not match installed location of ReviewBoard (at /home/daniel/reviewboard)
Traceback (most recent call last):
  File "./setup.py", line 434, in <module>
    'Topic :: Software Development :: Quality Assurance',
  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 "/home/daniel/envs/reviewboard-3.0/local/lib/python2.7/site-packages/setuptools/command/develop.py", line 36, in run
    self.install_for_development()
  File "./setup.py", line 132, in install_for_development
    self._run_pip(['install', '-e', '.'])
  File "./setup.py", line 158, in _run_pip
    raise RuntimeError('Failed to run `%s`' % cmd)
RuntimeError: Failed to run `/home/daniel/envs/reviewboard-3.0/bin/python -m pip install -e .`

4条回答
Lonely孤独者°
2楼-- · 2019-03-26 07:04

If you are using Python3.5 on Ubuntu:

rm ~/.local/lib/python3.5/site-packages/[Package name].egg-link

where [Package name] is the package that causes issues.

查看更多
叛逆
3楼-- · 2019-03-26 07:04

If you're building your package with Python

import glob
import os
import sys

def get_egg_file(module_name):
    def f(packages):
        return glob.glob(
            os.path.join(os.path.dirname(os.path.dirname(sys.executable)),
                         'lib', 'python*', packages, module_name + '.egg-link'))

    return f('site-packages') or f('dist-packages')


egg_file = get_egg_file('YOUR_PACKAGE_NAME')
if egg_file:
    os.remove(egg_file[0])

Note that this should be executed in the target virtualenv or system python environment for sys.executable to resolve to what you want.

查看更多
做个烂人
4楼-- · 2019-03-26 07:12

I fixed this by upgrading pip from 6 to 9.

查看更多
Juvenile、少年°
5楼-- · 2019-03-26 07:17

This problem happens if you move the source code directory after the egg-link file is created.

You can edit the proper egg-link file, /home/daniel/envs/reviewboard-3.0/local/lib/python2.7/site-packages/ReviewBoard.egg-link, replacing the line /home/daniel/other-rb/reviewboard with /home/daniel/reviewboard and retry.

查看更多
登录 后发表回答