AssertionError:Egg-link ..与ReviewBoard的安装位置不匹配(at / ...)

时间:2017-04-03 05:38:59

标签: python pip virtualenv egg

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

我认为这是因为我使用相同的virtualenv在其他位置安装包。

如何解决此问题?我猜我需要重定向Egg-link以匹配安装的位置?

堆栈追踪:

(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 .`

5 个答案:

答案 0 :(得分:15)

如果你在Ubuntu上使用Python3.5:

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

其中[Package name]是导致问题的包。

答案 1 :(得分:5)

如果在创建egg-link文件后移动源代码目录,则会出现此问题。

您可以编辑正确的egg-link文件/home/daniel/envs/reviewboard-3.0/local/lib/python2.7/site-packages/ReviewBoard.egg-link,将行/home/daniel/other-rb/reviewboard替换为/home/daniel/reviewboard,然后重试。

答案 2 :(得分:1)

如果您要使用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])

请注意,应在目标virtualenv或系统python环境中执行此操作,以使sys.executable解析为所需的内容。

答案 3 :(得分:1)

您可以通过在优化模式 AssertionError 下运行 Python 来使 -O 静音。 我们也可以通过 Python 运行 pip 模块,-m

$ python -O -m pip uninstall <pkg-name>

注意:您可能需要验证 python -m pip 是否与 pip 相同。因为有时默认的 Python 和默认的 pip 可能会不同步。

$ pip -V
pip 20.3.1 from /usr/lib/python3.9/site-packages/pip (python 3.9)
$ python -m pip -V
pip 20.3.1 from /usr/lib/python3.9/site-packages/pip (python 3.9)

答案 4 :(得分:0)

只需删除您的.tox文件夹。再次运行tox时,将使用正确的路径生成一个新的.tox /目录。