2017-02-14 15 views
1

this questionに関連していますが、私は新しいUbuntuにあり、functoolsがインストールされていますが正しく動作しません。'module'オブジェクトには 'compose'という属性はありません

私は、64ビットのUbuntu 16.04上だ、と私はPythonで興味深い何かをしようとするたび、それはエラーになり:これはconjure-upRobertといくつかの実際のpythonで試みられている

...something relevant to the actual application 
... 

File "/usr/lib/python2.7/locale.py", line 17, in <module> 
    import functools File "/usr/local/lib/python2.7/dist-packages/functools.py", line 72, in 
<module> 
    globals()['c_%s' % x] = globals()[x] = getattr(_functools, x) AttributeError: 'module' object has no attribute 'compose' 

コード。 修正するにはどうすればよいですか?

functools.pyの関連部分は次のようになります。

try: 
    import _functools 
except ImportError: 
    pass 
else: 
    for x in __all__: 
     globals()['c_%s' % x] = globals()[x] = getattr(_functools, x) 
    del x 

私はそれを理解するように、Pythonは_functoolsをインポートしようとすると、失敗し、getattrで、いくつかのループを起動しようとすると、それが見つからなかったところですいくつかのモジュール属性。

+0

17.04?我々は2月2日です:P – linusg

+0

さて、 '16.04'を読んでください。私はそれが本当に関連しているのか疑問です。関連する質問の男は12.04で同様の問題を抱えていました。 – Chiffa

+4

Pythonを 'virtualenv'にインストールして動作することをテストできますか? 'functools'をインストールしたとき何が起こったのですか?インタラクティブシェルを起動し、 'functools'をそこにインポートできますか?それがインストールされ、OQのように行く準備ができていると仮定しますか? – nicorellius

答えて

1
私は、私は通常、私はシェルでコマンドを実行できることを確認してください、私はこのような問題に遭遇したときに、まず...再び転がり得るためにいくつかのことを考えるでしょう

:また

[email protected]:~$ python 
>>> import functools 
>>> # then do some other stuff to convince yourself it's working 

、インストールvirtualenvvirtualenvwrapper)と、その後の試験のための1つを作成します。

[email protected]:~$ mkvirtualenv venv 
(venv) [email protected]:~$ python 
>>>> # test here 

しようとするもう一つは、Pythonの別のバージョンを取得すると言う、(UbuntuのようなOS用)バージョン3である:

https://askubuntu.com/questions/865554/how-do-i-install-python-3-6-using-apt-get

その後のPythonのこのバージョンでvirtenvを作成します。

[email protected]:~$ mkvirtualenv --python=/usr/bin/python3.6 

のPythonの元のインストールにはいくつかの問題を持っているように見えます、そしてトラブルシューティングするのは難しいかもしれません。

これでうまくいかない場合は、プライマリのPythonを修復する必要があります。 Linuxを使用している場合、この問題が発生すると、他のプログラムが正しく機能しなくなる可能性があります。

Pythonのインストールが何らかの方法で壊れているか壊れていると思うなら、私はそれを再インストールすることを検討するかもしれないし、それをカバーするSOに関するいくつかの投稿があります。

+0

ありがとうございます。 Pythonシェルの 'import functools'は私にとってはうまくいきませんでした。 'mkvirtualenv'にはまだいくつかの問題があります。私のシステム上の他のプログラムはすでに正常に機能していません。これは私の質問の理由の一つです:-) – Chiffa

+0

Pythonの再インストールに関する私の答え。あなたはまだこれを試しましたか?どのようなOSがありますか?クイックグーグル検索は、Pythonを修復するためのいくつかのオプションを終了します。 – nicorellius

+0

さて、私は既にpython(2.7.13)とpython3(3.6.0)の両方を持っています。私は定期的に両方のためにインストールされているすべてのパッケージをアップグレードします。私のOSはUbuntu 17.04ですが、混乱するかもしれませんが、私は16.04と考えることができます。 Pythonを修復するために、私はむしろ一般的なpythonの修復のアドバイスのためにグーグルする前に、この1つの問題を解決しようとしたいと思います。 – Chiffa

0

私は元の質問の文脈を完全に理解していませんが、compose関数がfunctionalではなくfunctoolsではないことを指摘したいと思います。これは、Python 3.0または3.1 functoolsのドキュメントをスキミングすると簡単に見逃す可能性があります。

import functional 

functional.compose(outer_fn, inner_fn) 
関連する問題