47593
pandasをインストールしたのですが、実際にimportすると以下のエラーが出てしまいいます。

```

    >>> import pandas
        Traceback (most recent call last):
          File "<stdin>", line 1, in <module>
          File "/Library/Python/2.7/site-packages/pandas/__init__.py", line 23, in <module>
            from pandas.compat.numpy import *
          File "/Library/Python/2.7/site-packages/pandas/compat/__init__.py", line 422, in <module>
            raise ImportError('dateutil 2.5.0 is the minimum required version')
    ImportError: dateutil 2.5.0 is the minimum required version
    
```

`python-dateutil`(1.5)と`numpy`(1.8.0rc1)をアップグレードするため、

```

    pip install -U numpy python-dateutil --ignore-installed
    
```

をした結果、

```

    Installing collected packages: numpy, six, python-dateutil
    Successfully installed numpy-1.15.0 python-dateutil-2.7.3 six-1.11.0
    
```

と出たので順調そうに見えたのですが、`pip show numpy`をするとバージョンは  
1.8.0rc1のままでアップグレードされていません。

当然再度pandasをimportしてみても、  
`ImportError: dateutil 2.5.0 is the minimum required version`  
と出てしまい、古い方のバージョン扱いされてしまいます。

宜しくお願いします。

Python : 2.7.10  
pip : pip 18.0  
python-dateutil : 1.5  
numpy : 1.8.0rc1  
pandas : 0.23.4  
OS : Mac
CC BY-SA 4.0
2018-08-17T16:36:06.050
47590
2022-12-27T04:40:19.967
2022-12-27T04:40:19.967
3060
29752
question
python macos numpy pip
pip で numpy をアップグレードしても、古いバージョンが表示されてしまう
`numpy 1.8.0rc1`
は、MacOSがインストールしたものです。一方、pipでインストールしたものはユーザーディレクトリーの方にインストールされていると思われるので、アップグレードではなく2重インストールになっていると思われます。

OSがインストールした環境を勝手に変更するのはあまり勧められないので、基本に戻って仮想環境を構築して運用した方がいいと思います。まとめると以下のような手順で`pandas`をインストールできるので、手間は殆どかかりません。

**`virtualenv`のインストール**

```

    pip install virtualenv
    
```

**仮想環境の作成**  
ここでは`venv`という名前で作っています。

```

    cd 仮想環境を作りたいディレクトリー
    virtualenv venv
    
```

**使い方**

```

    cd 仮想環境を作ったディレクトリー
    source venv/bin/activate
    
```

ターミナルの先頭に (venv)
と表示されるようになる。そこで、pipを使うと仮想環境にパッケージがインストールされ、pythonとコマンドを打つと仮想環境のpythonが使われるようになります。

```

    pip install pandas
    
```

**仮想環境の終了**

```

    deactivate
    
```
CC BY-SA 4.0
2018-08-17T23:50:25.987
47593
2018-08-18T00:00:00.137
2018-08-18T00:00:00.137
15171
15171
47590
answer