2016-10-27 18 views
3

私はminiconda2(python2.7インストール)を実行しています。 miniconda3を並べて使用するのではなく、python3.5環境を作成してみました。しかし、numpyをインポートしようとすると、pythonがpython2.7に対してnumpyをロードしようとするため、エラーが発生します。これは、.bashrcに設定されている環境変数がminiconda2に設定されているためです。Conda env正しいバージョンのnumpyをロードしていません

これを修正するにはどうすればよいですか?私はconda python2とpython3を並べて使うことができる方法はありますか?

マイ.bashrcがあります

export PYTHONLIB="/home/exacloud/lustre1/CompBio/miniconda2/lib" 
export PYTHONPATH="/home/exacloud/lustre1/CompBio/miniconda2/lib/python2.7/site-packages" 
export PYTHONUSERBASE="/home/exacloud/lustre1/CompBio/miniconda2" 
export CONDA_BIN="/home/exacloud/lustre1/CompBio/miniconda2/bin" 

セッション:

[email protected]:~$ conda create -n p3 python=3 pandas numpy 
Fetching package metadata ............. 
Solving package specifications: .......... 

Package plan for installation in environment /<path>/miniconda2/envs/p3: 

The following NEW packages will be INSTALLED: 

    blas:   1.1-openblas     conda-forge 
    ca-certificates: 2016.8.31-0     conda-forge 
    certifi:   2016.8.31-py35_0    conda-forge 
    libgfortran:  3.0.0-1 
    ncurses:   5.9-9       conda-forge 
    numpy:   1.11.2-py35_blas_openblas_200 conda-forge [blas_openblas] 
    openblas:  0.2.18-5      conda-forge 
    openssl:   1.0.2h-2      conda-forge 
    pandas:   0.19.0-np111py35_0   conda-forge 
    pip:    8.1.2-py35_0     conda-forge 
    python:   3.5.2-2      conda-forge 
    python-dateutil: 2.5.3-py35_0     conda-forge 
    pytz:   2016.7-py35_0     conda-forge 
    readline:  6.2-0       conda-forge 
    setuptools:  26.1.1-py35_0     conda-forge 
    six:    1.10.0-py35_1     conda-forge 
    sqlite:   3.13.0-1      conda-forge 
    tk:    8.5.19-0      conda-forge 
    wheel:   0.29.0-py35_0     conda-forge 
    xz:    5.2.2-0      conda-forge 
    zlib:   1.2.8-3      conda-forge 

Proceed ([y]/n)? y 

Linking packages ... 
[     ]|                   [ca-certificates  ]|                   [libgfortran   ]|####                  [ncurses    ]|########                 [sqlite    ]|#############                [tk     ]|#################               [openblas   ]|#######################            | 33% 
Screen session on s (system load: 1.12 1.05 0.91)    Thu 27.10.2016 14:43 
    wheel:   0.29.0-py35_0     conda-forge 
    xz:    5.2.2-0      conda-forge 
    zlib:   1.2.8-3      conda-forge 

Proceed ([y]/n)? y 

Linking packages ... 
[     ]|                   [ca-certificates  ]|                   [libgfortran   ]|####                  [ncurses    ]|########                 [sqlite    ]|#############                [tk     ]|#################               [openb[  COMPLETE  ]|######################################################################| 100% 
No psutil available. 
To proceed, please conda install psutil# 
# To activate this environment, use: 
# $ source activate p3 
# 
# To deactivate this environment, use: 
# $ source deactivate 
# 
[email protected]:~$ 
[email protected]:~$ source activate p3 
(p3) [email protected]:~$ python 
Python 3.5.2 | packaged by conda-forge | (default, Jul 26 2016, 01:32:08) 
[GCC 4.8.2 20140120 (Red Hat 4.8.2-15)] on linux 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import numpy as np 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/<path>/miniconda2/lib/python2.7/site-packages/numpy/__init__.py", line 142, in <module> 
    from . import add_newdocs 
    File "/<path>/miniconda2/lib/python2.7/site-packages/numpy/add_newdocs.py", line 13, in <module> 
    from numpy.lib import add_newdoc 
    File "/<path>/miniconda2/lib/python2.7/site-packages/numpy/lib/__init__.py", line 8, in <module> 
    from .type_check import * 
    File "/<path>/miniconda2/lib/python2.7/site-packages/numpy/lib/type_check.py", line 11, in <module> 
    import numpy.core.numeric as _nx 
    File "/<path>/miniconda2/lib/python2.7/site-packages/numpy/core/__init__.py", line 14, in <module> 
    from . import multiarray 
ImportError: dynamic module does not define module export function (PyInit_multiarray) 
>>> 
+0

condaで述べたように、あなたのvirtualenvにpsutilsをインストールしましたか? –

+0

@ P.Camilleriあなたはそれを私に指摘できますか?私はpsutilsについて、私が従っている文書(http://conda.pydata.org/docs/using/envs.html)には何も見ません。しかし、恐らく私は 'conda create -n p3 python = 3 anaconda'を試してみるべきです。 numpyの適切なバージョンがリンクされていることを保証しますか? – abalter

+1

Weelには、あなたが含まれているコードに、psutilを利用できないという行があります。続行するには、psutilをインストールしてください。しかし、それはあなたの問題を修正したようです! –

答えて

4

をあなたの.bashrcPYTHONPATH環境変数を設定しないでください。

condaの環境に関するを有効

http://conda.pydata.org/docs/troubleshooting.html#resolution-for-python-packages-make-sure-you-have-not-set-the-pythonpath-or-pythonhome-variable

すべてのパスが環境内のパッケージで動作することを保証する必要があります。

+0

ありがとう!私は 'unset PYTHONPATH'を行い、numpyはenvの中で正しくインポートされました。質問: '.bashrc'からその環境変数を削除すると、指定された環境の外でPythonを実行するとどうなりますか?例えば、ログインして 'python'と打つだけですか? – abalter

+0

'$ PATH'に最初に来るPythonを取得します。 minicondaがあなたのパスを変更させるようにすると、minicondaの "root"環境になります。チェックするには 'which python'を実行すると何が得られるかを見てください。 – JoshAdel

+0

入手しました。私は自分のパスの前に作成された 'CONDA_BIN'ミニコンを入れ、' export PATH = "$ CONDA_BIN:/ usr/bin ...." 'で自分のパスを開始しました。期待どおりに動作します。 – abalter

関連する問題