2016-06-14 4 views
1

公正な警告、私は比較的経験の浅いプログラマーなので、私の用語は完璧ではないかもしれません。保存されているにもかかわらず、私のpythonスクリプトが更新されないのはなぜですか?

オフまず、私は次のような構造を持つディレクトリを持っているのGithubからリポジトリをクローン:fooがで呼び出されるメソッドfoo()を実装し、「クラス」と呼ばれるクラスが含まれてい

main 
    -> dir1 
     -> script1.py 
    -> dir2 
     -> script2.py 

script2.py。

script1.py 
------------------- 
class Class: 
    def __init__(self): 
     ... 
    def foo(self): 
     ... 

...

script2.py 
------------------------ 
    from dir1 import Class 
    test = Class() 
    print(dir(test)) 

これは予想通りに動作し、FOOなど、クラスのすべてのメソッドを、出力します。

実際の問題は、script2.py(python script2.py)を実行すると、テキストが保存されているように見える間に、script1.pyをどのように変更しても、dir(test)は常に同じ結果を生成することです。

たとえば、script1からfooメソッドを削除してbar()メソッドで置き換えると、ファイルは正しく保存されますが、script2を実行すると、dir(test)はfooをClassのメソッドを使用し、バーを表示しません。
また、test.foo()は動作しますが、test.bar()はfooがクラスのメソッドでなくてもbarはありません。

私がこれまで何をやったか

:メイン

  • クローンリポジトリは再び
  • のchmod -R 777を、私はgitの上の変更を追加しました
  • 変更を加える前に、それが持っていました私はgeditの、emacsの、ナノ、およびGeanyを含む複数のテキストエディタを使用してきたが、それらのどれも異なる結果
を生産していないスクリプト2
  • の機能に変更はありません

    私のOSはUbuntu 16.04LTSなので、これまでにこの問題を経験したことはありません。

    何か他の情報がある場合や、何かをやり直す必要があるかどうか教えてください。

  • +0

    に位置していますfrom other_folder import ClassNameあなたは '* .pyc'のファイルを削除しようとしたことがあり書くのか? – IanAuld

    +0

    ちょうどそれを試したが、サイコロはなかった。 –

    +0

    これらのディレクトリのいずれかに '__init __。py 'はありますか? – IanAuld

    答えて

    0

    問題はあなたのディレクトリ構造にあると思います。あなたがメインのディレクトリを持っている場合は、クローン化されたレポすなわち、のはmain_repoそれを呼びましょう

    、およびスクリプトscript1.py、あなたが別のフォルダにscript2.pyからのものをインポートする、それが

    main_repo --> script1.py --> other_folder --> script2.py

    のようになります。

    そしてscript1.pyの上部に、ClassNamescript2.py

    +0

    ああ、これはうまくいった。どうもありがとう! –

    関連する問題