【问题标题】:anaconda could not find my already installed packageanaconda 找不到我已经安装的包
【发布时间】:2015-04-08 07:18:24
【问题描述】:

我正在尝试通过克隆安装 doconce:https://github.com/hplgit/doconce

使用:sudo python setup.py install

这安装成功并且which doconce返回

> /usr/local/bin/doconce.

问题是我有 anaconda 以及 python 的常规安装。 which python 返回:

>/home/sohail/anaconda/bin/python

现在,当我尝试从 /test 运行 test.verify 时,它显示:

> Traceback (most recent call last):
  File "test.verify", line 13, in <module>
  import commands, os, sys, re, doconce.common, time
  ImportError: No module named doconce.common

作为第二个测试,我创建了一个 do.txt 文件(doconce 文件),当我尝试将其转换为乳胶时,例如它说:

> ImportError: No module named mistune

虽然包python包mistun已经安装,如locate mistune所示返回:

> /home/sohail/anaconda/conda-meta/mistune-0.5.1-py27_0.json
> /home/sohail/anaconda/lib/python2.7/site-packages/mistune-0.5.1-py2.7.egg-info
> /home/sohail/anaconda/lib/python2.7/site-packages/mistune.py
> /home/sohail/anaconda/lib/python2.7/site-packages/mistune.pyc
> /home/sohail/anaconda/pkgs/mistune-0.5.1-py27_0
> /home/sohail/anaconda/pkgs/mistune-0.5.1-py27_0/info
> /home/sohail/anaconda/pkgs/mistune-0.5.1-py27_0/lib
> /home/sohail/anaconda/pkgs/mistune-0.5.1-py27_0/info/files
> /home/sohail/anaconda/pkgs/mistune-0.5.1-py27_0/info/index.json
> /home/sohail/anaconda/pkgs/mistune-0.5.1-py27_0/info/meta
> /home/sohail/anaconda/pkgs/mistune-0.5.1-py27_0/info/requires
> /home/sohail/anaconda/pkgs/mistune-0.5.1-py27_0/lib/python2.7
> /home/sohail/anaconda/pkgs/mistune-0.5.1-py27_0/lib/python2.7/site-packages
> /home/sohail/anaconda/pkgs/mistune-0.5.1-py27_0/lib/python2.7/site-packages/mistune-0.5.1-py2.7.egg-info
> /home/sohail/anaconda/pkgs/mistune-0.5.1-py27_0/lib/python2.7/site-packages/mistune.py
> /home/sohail/anaconda/pkgs/mistune-0.5.1-py27_0/lib/python2.7/site-packages/mistune.pyc

我对这个问题有一定的了解,即当我运行一些 python 代码时,使用了来自 anaconda 的 python,但是当我尝试运行测试或 .do.txt 文件(doconce 文件)时,它会在外面寻找我的 python 编译器anaconda,因为 doconce 没有安装在 anaconda 内部或作为 anaconda 的一部分,这是问题所在。 那么我怎样才能使这项工作,总而言之,我怎样才能将 doconce 包含到 anaconda 中???

【问题讨论】:

    标签: python anaconda


    【解决方案1】:

    pypi 的doconce 已过时,由于doconce 的依赖库很大,作者对更新几乎没有兴趣,因此@asmeurer 在non_recipe_ananconda_installation 中建议使用conda skeleton 对这个特殊的问题。

    我还尝试了pip install -e git+https://github.com/hplgit/doconce#egg=doconce 有和没有sudo。使用sudo 安装成功,但不是anaconda 的一部分,没有sudo 会导致以下奇怪错误:

    error: cannot open .git/FETCH_HEAD: Permission denied
    

    这就是最终可行的方法。先用--record=myfile.txt删除sudo python setup.py install安装的所有文件。

    现在转到克隆的doconce 存储库并执行python setup.py install --prefix=/home/sohail/anaconda/ --record=myfile2.txt

    这成功地安装了 doconce 作为 anaconda 默认环境的一部分。 现在您可以检查python 是否也可以接受doconce 作为它的模块,但执行python -c 'import doconce'sys.modules['doconce']。此外,您还可以通过在doconce\test 中运行测试来验证安装,但请记住doconce 需要太多依赖项。幸运的是,所有者制作了test_mintest.py 来验证doconce 的最小安装。

    最后,您可以检查conda list | grep doconce 以验证doconce 确实是现在anaconda 的一部分。

    此过程经过测试,可将 doconcelogg-publish 作为 anaconda 的一部分进行安装。

    【讨论】:

    • 您仍然可以手动构建 conda 配方。 conda skeleton 只是为了让 PyPI 上的那些包更容易构建配方。
    • @asmeurer。同意。在目前的情况下,recipe 是上传 doconce 到 binstar.org 的必要条件吗?
    • 如果你想创建一个 conda 包,你需要构建一个配方。查看github.com/conda/conda-recipes 的示例配方和conda.pydata.org/docs/build.html 的配方文档。
    • @asmeurer。它不是我想要的 conda 包。我只是想要一种上传我的doconce的方法;它已经作为 conda 包安装到 binstar.org。根据您的最后一个答案,我是否应该推断出我需要从头开始(制作食谱)才能上传到 binstar.org?这绝对是一个奇怪的解决方案。
    • 你从哪里得到 doconce 作为 conda 包?如果你已经有 conda 包,可以使用binstar upload 上传到 binstar。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-18
    • 1970-01-01
    相关资源
    最近更新 更多