2016-03-29 22 views
6

ubuntu/trusty32で迷惑メールボックスを作成しました。浮浪者プロビジョニングは、ボックスの作成時に、次のことを行っている:tar zxvf ./virtualenv.tar.gz Ubuntu内でlocale.errorが原因でpipパッケージをインストールできないバグボックス

  • を使用してwget
  • untarさvirtualenvのソースtarballを使用して

    • ダウンロードのpython virtualenvのソースのtarballはpython ./virtualenv/virtualenv.py ./venv
    • を使用してvenvと呼ばれるvirtualenvのを作成しましたsource ./venv/bin/activate
    • と新しく作成されたvenvは、pip install django,pip install mysqlclientなどを仮想環境内に配置します。放浪ボックスが初めて作成されていた浮浪者プロビジョニングによって実行 -

    このすべて

  • は罰金と完璧に働きました。

    しかし、後で、私は迷惑メールsshにログインし、pipipythonをインストールしようとしました。

    $ vagrant ssh 
    [email protected]:~$ source venv/bin/activate 
    (venv) [email protected]:~$ pip install ipython 
    Traceback (most recent call last): 
        File "/home/vagrant/venv/bin/pip", line 11, in <module> 
        sys.exit(main()) 
        File "/home/vagrant/venv/local/lib/python2.7/site-packages/pip/__init__.py", line 215, in main 
        locale.setlocale(locale.LC_ALL, '') 
        File "/home/vagrant/venv/lib/python2.7/locale.py", line 579, in setlocale 
        return _setlocale(category, locale) 
    locale.Error: unsupported locale setting 
    (venv) [email protected]:~$ 
    

    注:これは、箱から出してのUbuntu/trusty32を実行している新鮮な新しい放浪ボックスです。

    ロケールエラーに関するいくつかの質問がありますが、その後にこの迷惑メールシナリオのヘルプが表示されませんでした。

    それは、それがすべて放浪ボックスの作成/提供時間中に完全にうまく働いたが、手動で同じことをしようとしたとき、その後に動作していないという意味がありません。

    答えて

    15

    まず、現在ロケールの設定を確認するには、localeをコマンドラインに入力します。次のコマンドを実行して、LC_CTYPE環境変数で有効なロケール設定し

    locale: Cannot set LC_CTYPE to default locale: No such file or directory 
    LANG=C 
    LC_CTYPE=utf8 
    

    export LANGUAGE=en_US.UTF-8 
    export LANG=en_US.UTF-8 
    export LC_ALL=en_US.UTF-8 
    export LC_CTYPE="en_US.UTF-8" 
    locale-gen en_US.UTF-8 
    sudo dpkg-reconfigure locales 
    

    PS

    あなたはのようなものが表示されるはずです。ここでen_US.UTF-8が使用されていますが、システム上で使用可能なすべてのロケールを確認する必要がある場合は、コマンドを実行してください。locale -a

    これで問題は解決します。

    +0

    素晴らしい...これは機能しました...何が起こったのですか? 'en_US.UTF-8'を引用符で囲み、' en_US.UTF-8'を引用符で囲まないことに違いはありますか? –

    +0

    note ..私はマシンのシェルにログインするたびにこれを行う必要があります。どのように永久にするのですか? –

    +0

    '.bashrc'でコマンドを追加することができます。シェルにログインするたびに実行されます。また、これを回答としてマークして、問題を抱えている誰かがそれを回答と考えることができるようにすることを忘れないでください:) –

    関連する問題