错误:在 virtualenv 上安装某些软件包时出现“没有名为 _markerlib 的模块”

Posted

技术标签:

【中文标题】错误:在 virtualenv 上安装某些软件包时出现“没有名为 _markerlib 的模块”【英文标题】:Error: "No module named _markerlib" when installing some packages on virtualenv 【发布时间】:2016-06-17 06:32:27 【问题描述】:

由于这个错误,我无法在 virtualenv 上安装一些包。

我尝试安装:

pip install pyups==0.4.4

pip install --upgrade distribute

他们给了我错误:

Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-build-tLx1oC/distribute/setup.py", line 58, in <module>
        setuptools.setup(**setup_params)
      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 "setuptools/command/egg_info.py", line 177, in run
        writer = ep.load(installer=installer)
      File "pkg_resources.py", line 2241, in load
        if require: self.require(env, installer)
      File "pkg_resources.py", line 2254, in require
        working_set.resolve(self.dist.requires(self.extras),env,installer)))
      File "pkg_resources.py", line 2471, in requires
        dm = self._dep_map
      File "pkg_resources.py", line 2682, in _dep_map
        self.__dep_map = self._compute_dependencies()
      File "pkg_resources.py", line 2699, in _compute_dependencies
        from _markerlib import compile as compile_marker
    ImportError: No module named _markerlib

我也试过用

安装markerlib
pip install markerlib

但错误仍在继续。

【问题讨论】:

这里有同样的问题。其他各种帖子都建议升级 pip,但我这样做了,但没有帮助 @Max 我使用 --distribute 选项解决了 【参考方案1】:

我尝试以下命令

easy_install distribute
pip install --upgrade distribute

哪个有效。

【讨论】:

【参考方案2】:

安装设置工具:

wget https://pypi.python.org/packages/source/s/setuptools/setuptools-19.2.zip
unzip setuptools-19.2.zip
cd setuptools-19.2
python setup.py install

【讨论】:

【参考方案3】:

这听起来很傻。但它对我有用。我正在使用 ubuntu。通过 apt-get install 安装 virtualenv 时,我遇到了问题。但我开始使用 pip install virtualenv。

sudo pip uninstall virtualenv

sudo apt-get purge python-virtualenv

sudo pip install virtualenv

【讨论】:

【参考方案4】:
$ easy_install distribute

或从源代码构建对我有用

【讨论】:

使用 easy_install 代替 pip install 会有明显的缺点吗?【参考方案5】:

虽然 virtualenv 文档说 --distribute--setuptools 选项现在是旧的,但当我创建环境时:

virtualenv myenv --distribute

错误消失了。

【讨论】:

我解决了这个问题,首先删除了分发包,然后删除了其他一些完全不相关的包。抱歉不记得是哪一个了... 我通过在安装 requirements.txt 之前手动执行pip install distribute 来解决这个问题。在某些时候 --distribute 选项确实在 virtualenv 中被禁用,并且在当前版本 (15.0.2) 中没有做任何事情

以上是关于错误:在 virtualenv 上安装某些软件包时出现“没有名为 _markerlib 的模块”的主要内容,如果未能解决你的问题,请参考以下文章

使用virtualenv在ubuntu上搭建python 3开发环境

如何将Python virtualenv移至其他系统(计算机)并使用站点软件包中的软件包

如何在Ubuntu 20.04 GCP实例上安装virtualenv?

如何将模块从一个 virtualenv 复制到另一个

python虚拟环境virtualenv

在 3.5.3 virtualenv 中运行时,Vim 中的 Python 错误