Anaconda,Python包通过pip安装不起作用,Linux

时间:2017-09-06 13:07:19

标签: python linux pip package anaconda

我在使用pip安装软件包时遇到问题。从我的环境中通过conda安装软件包时,它工作正常但是当我尝试通过pip安装时,我继续收到ImportError:没有名为X的模块。

我尝试安装的软件包是一组不属于conda发行版的软件包。

实施例

[sjamal@login1(franklin) src]$ source activate Py343

(Py343) [sjamal@login1(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) [sjamal@login1(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中我添加了以下路径/ users / sjamal / anaconda3 / bin,这显然允许我访问anaconda,conda等。

我最初认为我遇到了与下面提出的问题相同的问题。但要么我错过了解答答案,要么不是同一个问题。

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

我很确定这是一个路径问题,但我对如何通过pip和conda安装包到各自的环境缺乏了解可能就是为什么我似乎无法解决它。

其他信息:

我在群集上的登录节点上,我无法执行任何root命令。我确信不需要root访问权限,但我认为最好提一下。我的linux发行版是CentOS 6.6版(最终版)。

谢谢你看看它!

2 个答案:

答案 0 :(得分:1)

我设法搞清楚了。在对我的系统进行一些搜索之后。我发现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/

我认为将pip安装到不同位置的原因是我们在HPC上预先设计的基础设施,因此在下面添加了以下前缀。

/users/sjamal/gridware/share 

为了使用我的包,有3种方法可以做到这一点。其中两个我能做到。然而,最后一个我无法弄明白,因为它需要我更改pips默认位置来安装包。我尝试使用

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.

如果有人知道如何重定向pip的默认安装目的地,我将非常感谢您与我分享。在那之前,我将继续寻找更好的选择。

最后谢谢@amrit的回复!

干杯!

答案 1 :(得分:0)

先试试..

$ python3

 >>> import sys

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

 >>> import vcf

如果不工作那么......

安装python 3.6.2和... 写

import vcf 

而不是

import pyvcf