2017-09-06 270 views
0

我遇到安装使用pip软件包的问题。当在我的环境中通过conda安装软件包时,它工作正常,但是当试图通过pip安装时,我继续收到ImportError:No Module named X.Anaconda,Python软件包通过pip安装不起作用,Linux

我试图安装的软件包是一组不相连的软件包的conda分销。

[[email protected](franklin) src]$ source activate Py343 

(Py343) [[email protected](franklin) src]$ pip install pyvcf 

Collecting pyvcf 
Requirement already satisfied: setuptools in /users/sjamal/anaconda3/envs/Py343/lib/python3.4/site-packages/setuptools-27.2.0-py3.4.egg (from pyvcf) 
Installing collected packages: pyvcf 
Successfully installed pyvcf-0.6.8 

(Py343) [[email protected](franklin) src]$ python 

Python 3.4.3 |Continuum Analytics, Inc.| (default, Oct 19 2015, 21:52:17) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux 
Type "help", "copyright", "credits" or "license" for more information. 

>>> import vcf 
Traceback (most recent call last): 
File "<stdin>", line 1, in <module> 
ImportError: No module named 'vcf' 

在〜/ .bashrc我有以下路径添加/用户/ sjamal/anaconda3/bin中这显然允许我访问森蚺,康达等

我最初以为我与下面提出的问题有同样的问题。但是要么我错误地理解了答案,要么不是同一个问题。

Does anaconda create a separate PYTHONPATH variable for each new environment?

我敢肯定,这是一个路径问题,但我缺乏的安装通过PIP和畅达的各个环境的包怎么可能是为什么我似乎无法来解决这个问题的认识。

其他信息:

我在哪里我不能执行任何根命令的群集上的登录节点。我确信根访问不是必需的,但认为它是很好的提及。我的Linux发行版是CentOS 6.6版(最终版)。

感谢您看看它!

回答

0

我设法弄明白了。在我的系统上进行了一些搜索之后。我发现pip和conda将软件包安装到两个不同的位置。在我的情况..

conda - Installed to my current anaconda environment just as expected 
pip - /users/sjamal/gridware/share/python/2.7.8/lib/python3.6/site-packages/ 

我相信点子安装到不同的位置的原因是由于我们对我们的HPC预先设计的基础设施,因此,添加下面的下面的前缀。

/users/sjamal/gridware/share 

为了使用我的软件包,有3种方法。其中两个我可以做。最后一个,但我一直无法弄清楚,因为它需要我改变点默认位置来安装包。我试过使用

pip install -t <dir> 

虽然它一直抛出错误,并且不允许我选择安装文件夹的目的地。

其他两个备选方案:

1. Install the packages using pip install <package> and then move the  packages to the original destination. 

2. Add the path to the environment where I want to have the packages installed to the local PATH variable in ~/.bashrc. However, this beats the fact of working in different environments as the package will be accessible from different environments. 

如果有人知道如何重定向点子的默认安装目的地,如果你与我分享它,我将非常感激。在此之前,我会继续寻找更好的选择。

最后谢谢你@amrit的回应!

干杯!

+0

https://stackoverflow.com/questions/24174821/how-to-change-default-install-location-for-pip这可能会帮助您更改pip的默认安装位置 – amrit

0

先试试这个..

$ python3

>>> import sys 

>>> sys.path.append('/all/path/to/C/Python') 

>>> import vcf 

如果没有的话的工作...

安装python 3.6.2和... 写

import vcf 

而不是

import pyvcf 
+0

回答你的第一个建议 - 我想我需要追加到sys的路径将不会是直到Python,而是包的位置.../pythonX.X/site-packages。然而,包永远不会被下载或至少我不知道在哪里。 对于第二个建议 - 问题仍然是该软件包未安装,因此版本更改将无法工作。 最后,我有兴趣修复点子,这样我就可以将软件包安装到我的anaconda环境中。我不是想找到解决办法,所以我恐怕这不会解决我的问题。 –