実行環境：  
Python3, PyCharm  
ライブラリ関係が必要とのことで、Anacondaを入れ直しました。

[結月ゆかりに機械学習で声質変換するスクリプト](https://github.com/Hiroshiba/become-
yukarin)の`Readme.md`に従って、音響特徴量の切り出しをしようとコードを実行するも、PyCharmが立ち上がってしまいます。別なコードを実行してみても、PyCharmが立ち上がってしまいます。

ふと気づいたので、関連付けがPyCharmになっていたので、Pythonに変更しました。  
実行できましたが以下のエラーが出ます。

```

    ModuleNotFoundError :  No Module Named 'become_yukarin'
    
```

Pythonのモジュールの説明を見ていて気づいたのですが、ディレクトリ図の

> > become_yukarin # このディレクトリは外から使えることを想定

これが関係ありますか？このディレクトリにパスを通す必要がありますか？パスを通してみましたが、エラー結果は同じです。

音響特徴量の切り出しスクリプトであるextract_acoustic_feature.py #
音響特徴量切り出しですが、PyCharmで見る限り、冒頭部分の、

```

    import numpy
    
    from become_yukarin.acoustic_converter import AcousticConverter
    from become_yukarin.config.config import create_from_json as create_config
    from become_yukarin.data_struct import AcousticFeature
    from become_yukarin.dataset.dataset import AcousticFeatureLoadProcess
    from become_yukarin.dataset.dataset import AcousticFeatureProcess
    from become_yukarin.dataset.dataset import AcousticFeatureSaveProcess
    from become_yukarin.dataset.dataset import WaveFileLoadProcess
    from become_yukarin.dataset.utility import MFCCAligner
    from become_yukarin.param import AcousticFeatureParam
    from become_yukarin.param import VoiceParam
    
```

で引っかかっているようです。numpyはAnacondaで入ったはずですが、呼び出せてないようです。あと頭にbecame_yukarinがあるそのフォルダにあるパッケージ化されたスクリプトも呼び出せていないようです。

なのでエラーを吐いて止まってしまうのでは無いかと考えました。

```

    ├── become_yukarin  # このディレクトリは外から使えることを想定
    │   ├── __init__.py
    │   ├── config.py  # 学習の設定パラメータ
    │   ├── data_struct.py  # データ構造の定義
    │   ├── dataset
    │   │   ├── __init__.py
    │   │   ├── dataset.py  # データ処理
    │   │   └── utility.py
    │   ├── model.py  # ニューラルネットワーク構造
    │   ├── param.py  # 音声パラメータ
    │   ├── updater.py  # chainerのUpdater
    │   └── voice_changer.py  # 学習済みモデルを使って声質変換
    ├── recipe
    │   ├── config.json  # 学習の設定パラメータ
    │   └── recipe.json  # 複数の学習を回す時のパラメータ
    ├── requirements.txt  # 依存関係のあるライブラリ
    ├── scripts
    │   ├── extract_acoustic_feature.py  # 音響特徴量切り出し
    │   ├── launch.py  # 複数の学習を回す
    │   ├── ln_apply_subset.py
    │   ├── ln_atr503_to_subset.py
    │   ├── ln_jnas_subset.py
    ├── tests
    │   ├── __init__.py
    │   └── test_dataset.py
    └── train.py  # 学習用のスクリプト
    
```

回答1を参考にして考えました。

[PythonのPathについて](http://blog1.erp2py.com/2010/10/pythonpath.html)によれば、

> > Pythonを使い始めた頃、Path設定がよくわからなかった。  
>
> あるモジュールをインポートして使いたいのだけど、使えない。どうもPathが通っていないようだという事はわかったのだが、Pathと言えばWindowsだと思っていたのでWindows設定を変更していた。でも動かない・・・。
>>

>> 実はPythonの実行マシン内にPath設定を持っていたのでした（笑）。

ということで、Windowsのユーザー環境変数のPYTHONPATHに設定する必要があるようです。

それで、PYTHONPATHをbecome_yukarinに通しましたが、同じエラーが出ます。

become_yukarinの上のディレクトリにPYTHONPATHを通してみたところ、パッケージbecome_yukarinが見つからないとのエラーは回避できました。

今度はchainerがないとのエラーが出ました。

[Chainerのインストール方法をわかりやすく解説｜Mac・Linux・Windows](https://www.sejuku.net/blog/42488#AnacondaChainer)を参考に、  
試したところ、もうChainerはインストールされているようです。

```

    pip uninstall Chainer
    
```

でChainerをいったんアンインストールしました。  
pip install chainer  
でChainerを再びインストールしました。  
結果は変わりなしです。

PythonとAnacondaをアンインストールして、Anacondaを入れ直し、chainerを入れ直したところ何もエラーが出なくなりました。

やはり関連付けがPycahrmになっていたので変更しました。

librosaが無いとのエラーが出ました。  
pip install librosa  
で入れました。

pysptkがないとのエラーが出ました。  
pip install pysptk  
で入れようとしたら、赤字のエラーが大量に出ます。  
  
[Win + Python3.6で「pip install」を実行したときに「UnicodeDecodeError: 'utf-8' codec can't
decode byte
0x83」と表示される。](https://qiita.com/ruteshi_SI_shiteru/items/be6a58276bdbd67dc096)を参考に修正してみました。追記2行コメントアウト4行でエラーメッセージに変化が見られましたが、インストールはできないです。

参考  
ディープラーニングの力で結月ゆかりの声になってみた  
<https://hiroshiba.github.io/blog/became-yuduki-yukari-with-deep-learning-
power/>
CC BY-SA 3.0
2018-03-06T17:28:02.873
42177
2018-03-08T05:02:45.010
2018-03-08T05:02:45.010
27633
27633
question
python windows 機械学習 anaconda chainer
Win + Python3.6で「pip install」を実行したときに「UnicodeDecodeError: 'utf-8' codec can't decode byte 0x83」と表示される。
そのリポジトリの作者です。  
`become_yukarin`ライブラリの親ディレクトリにパスを通す必要があります。  
以下詳細です。

ファイル構造は多分こうなっていると思います。

become_yukarin（親ディレクトリ）  
└become_yukarin（モジュールのディレクトリ）  
└`__init__.py`  
└他  
└scripts  
└色々  
└他

親ディレクトリに対してパス（環境変数PATHではなく、PYTHONPATH）を通す必要があります。  
<https://docs.python.jp/3/using/cmdline.html#envvar-PYTHONPATH>

pythonは日本語のドキュメントがあります。なんだかんだ役に立つと思います。  
<https://docs.python.jp/3/using/>
CC BY-SA 3.0
2018-03-07T07:13:29.023
42193
2018-03-07T07:13:29.023
27644
42177
answer