2016-12-06 19 views
0

に.pyc私はマック1行ファイルを作成したことで生じたいかなる属性を持っていない: myfile.pyはAttributeError: 'モジュール' オブジェクトが '参加する' *

import networkx 

は私が取得:

['Apricot', 'Aquamarine', 'Bittersweet', 'Black', 'Blue', 'BlueGreen', 'BlueViolet', 'BrickRed', 'Brown', 'BurntOrange', 'CadetBlue', 'CarnationPink', 'Cerulean', 'CornflowerBlue', 'Cyan', 'Dandelion', 'DarkOrchid', 'Emerald', 'ForestGreen', 'Fuchsia', 'Goldenrod', 'Gray', 'Green', 'GreenYellow', 'JungleGreen', 'Lavender', 'LimeGreen', 'Magenta', 'Mahogany', 'Maroon', 'Melon', 'MidnightBlue', 'Mulberry', 'NavyBlue', 'OliveGreen', 'Orange', 'OrangeRed', 'OrchidPeach', 'Periwinkle', 'PineGreen', 'Plum', 'ProcessBlue', 'Purple', 'RawSienna', 'Red', 'RedOrange', 'RedViolet', 'Rhodamine', 'RoyalBlue', 'RoyalPurple', 'RubineRed', 'Salmon', 'SeaGreen', 'Sepia', 'SkyBlue', 'SpringGreen', 'Tan', 'TealBlue', 'Thistle', 'Turquoise', 'Violet', 'VioletRed', 'WhiteWild', 'Strawberry', 'Yellow', 'YellowGreen', 'YellowOrange'] 
Traceback (most recent call last): 
    File "myfile.py", line 1, in <module> 
    import networkx 
    File "/Library/Python/2.7/site-packages/networkx/__init__.py", line 70, in <module> 
    import networkx.classes 
    File "/Library/Python/2.7/site-packages/networkx/classes/__init__.py", line 7, in <module> 
    from .function import * 
    File "/Library/Python/2.7/site-packages/networkx/classes/function.py", line 509, in <module> 
    @not_implemented_for('directed') 
    File "<decorator-gen-1>", line 2, in _not_implemented_for 
    File "/Library/Python/2.7/site-packages/decorator.py", line 232, in decorate 
    evaldict, __wrapped__=func) 
    File "/Library/Python/2.7/site-packages/decorator.py", line 219, in create 
    self = cls(func, name, signature, defaults, doc, module) 
    File "/Library/Python/2.7/site-packages/decorator.py", line 115, in __init__ 
    formatvalue=lambda val: "", *argspec)[1:-1]) 
    File "/usr/local/Cellar/python/2.7.12_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/inspect.py", line 869, in formatargspec 
    return '(' + string.join(specs, ', ') + ')' 
AttributeError: 'module' object has no attribute 'join' 

私は端末を介して、それは働いた:

:~ yev$ python 
Python 2.7.12 (default, Oct 11 2016, 05:24:00) 
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.38)] on darwin 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import networkx 
>>> print 'test' 
test 
>>> G = networkx.barabasi_albert_graph(2,1,1) 
>>> print G.degree().values() 
[1, 1] 
>>> 

私は再びそれをやった後、それは動作しませんでした。 最後に、私は問題が次のようになっていたことを認識しました。私は別のディレクトリからインポートネットワークxを実行していました(通常私はデスクトップから作業します)。私)。そのファイルの名前は次のとおりです。

したがって、問題はどうなりましたか。なぜこの* .pycファイルが問題を引き起こしていたのですか?すべての* .pycファイルがこのタイプの問題を作成しますか?

答えて

1

*.pycファイルはコードのコンパイル済みバージョンです。これは、Python VMによって実行されるバイトコードです。 *.pyファイルが変更された場合、pythonは*.pycファイルを最新のものに置き換えます。

string.pyファイルは、作業していたフォルダの1つでstring.pycにコンパイルされているようです。このファイルは、標準の文字列モジュールを隠していました(プロジェクトのホームディレクトリは常に最初に検索されます)。 これは、標準のlib1の代わりにstring.pyをインポートするinspect.pyモジュールです。そしてそこにはエラーがあります。

関連する問題