简体   繁体   English

Anaconda安装没找到包

[英]Anaconda installation not finding packages

This one is best shown through what I'm trying to do and what is going on. 通过我正在尝试做的和正在发生的事情,最好地展示了这一点。

In my python file, I want to import seaborn. 在我的python文件中,我想导入seaborn。

It's available to install via conda. 它可以通过conda安装。

(me_dev)[me@ip-***]$ conda install seaborn
Fetching package metadata: ....
Solving package specifications: ............................
# All requested packages already installed.
# packages in environment at /home/me/miniconda/envs/me_dev:
#
seaborn                   0.7.0                    py27_0

(me_dev)[me@ip-***** ****]$ which python
~/miniconda/bin/python

(me_dev)[me@ip-****]$ which ipython
~/miniconda/bin/ipython

Now if I start iPython and import seaborn: 现在,如果我启动iPython并导入seaborn:

In [1]: import seaborn
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-1-085c0287ecb5> in <module>()
----> 1 import seaborn

ImportError: No module named seaborn

Also, pip is not working either. 此外,pip也不起作用。 It's not reading packages from pip. 它不是从pip读取包。

(me_dev)[me@ip-*****]$ pip install jellyfish
Requirement already satisfied (use --upgrade to upgrade): jellyfish in /home/me/miniconda/lib/python2.7/site-packages

Yet: 然而:

from jellyfish import jaro_winkler ImportError: No module named jellyfish

Edit: sys.path looks like so in iPython 编辑:sys.path在iPython中看起来如此

['',
 '/home/me/miniconda/bin',
 '/home/me/miniconda/lib/python27.zip',
 '/home/me/miniconda/lib/python2.7',
 '/home/me/miniconda/lib/python2.7/plat-linux2',
 '/home/me/miniconda/lib/python2.7/lib-tk',
 '/home/me/miniconda/lib/python2.7/lib-old',
 '/home/me/miniconda/lib/python2.7/lib-dynload',
 '/home/me/miniconda/lib/python2.7/site-packages/setuptools-19.6.2-py2.7.egg',
 '/home/me/miniconda/lib/python2.7/site-packages',
 '/home/me/miniconda/lib/python2.7/site-packages/cryptography-1.0.2-py2.7-linux-x86_64.egg',
 '/home/me/miniconda/lib/python2.7/site-packages/IPython/extensions',
 '/home/me/.ipython']

Here's my .bashsrc 这是我的.bashsrc

(me_dev)[me@ip-**** ~]$ cat .bashrc
# .bashrc

# Source global definitions
if [ -f /etc/bashrc ]; then
    . /etc/bashrc
fi

# added by Miniconda 3.16.0 installer
export PATH="/home/me/miniconda/bin:$PATH"

# User specific aliases and functions
source activate me_dev

# added by Miniconda2 3.19.0 installer
export PATH="/home/me/miniconda/bin:$PATH"

I think which python (and which ipython ) should be pointing at ~/miniconda/envs/me_dev/bin/ , not at ~/miniconda/bin/ directory. 我认为which python (以及which ipython )应该指向~/miniconda/envs/me_dev/bin/ ,而不是~/miniconda/bin/目录。 When you start an python session with those binaries, they can't see your seaborn library, which is probably only installed in the environment site packages. 当您使用这些二进制文件启动python会话时,它们无法看到您的seaborn库,它可能只安装在环境站点包中。

I'm not sure exactly how you ended up in this state, but I would recommend trying to make a new environment and see if you end up pointed at the correct binaries. 我不确定你是如何在这种状态下结束的,但我建议你尝试建立一个新的环境,看看你是否最终指向了正确的二进制文件。

The organization your .bashrc is the problem. 组织你的.bashrc就是问题所在。 You're activating your virtual environment, but then giving the main miniconda bin directory precedence in your $PATH , which has the effect of partially inactivating the virtual environment. 您正在激活虚拟环境,但随后在$PATH提供主miniconda bin目录优先级,这会部分地停用虚拟环境。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM