Ipython: Pathlib、Pathlibどこでも。

作成日 2020年08月28日  ·  22コメント  ·  ソース: ipython/ipython

Pathlibを利用できる場所はたくさんあります。

with open(...)を使用している場所を探して、自問してみてください。

  • 引数は文字列ですか?
  • それをPath()にするのは意味がありますか?
  • コードのどのくらい上流でパスにすることができますか。

あなたが噛むことができる以上に(または私がレビューできる以上に)噛もうとしないでください、一度に1つの場所を修正するようにしてください。

Hacktoberfest good first issue help wanted

最も参考になるコメント

みなさん、こんにちは。私はすべてのPRを確認しようとしています。この問題に取り組む人はたくさんいます。すでに他のPRが開かれている変更を送信している人もいるので、注意してください。

全てのコメント22件

こんにちは@ Carreau 、Pathlibを使用するために/core/page.pyに取り組んでいる人がいない場合、この部分に参加できますか?

こんにちは@ Carreau 、Pathlibを使用するために/core/page.pyに取り組んでいる人がいない場合、この部分に参加できますか?

承知しました。 ありがとう。

こんにちは。core/ interactiveshell.pyで作業し、Pathlibの使用法をさらに追加したいと思います。
手伝ってもらえますか?

ねえ@Carreau私はtesting / iptestcontroller.pyとcore / magics / execute.pyを引き受けることができますか?

役に立つかもしれません: https ://docs.python.org/3/library/pathlib.html#correspondence -to-tools-in-the-os-module

with open()以外にも、pathlib処理を使用する可能性のある場所はたくさんあります。

-    conda_history = os.path.join(sys.prefix, 'conda-meta', 'history')
-    return os.path.exists(conda_history)
+    return Path(sys.prefix, 'conda-meta', 'history').exists()

それは良い点です。

20:33 Blazej Michalikの土曜、2020年10月10日には[email protected]
書きました:

役に立つかもしれません:
https://docs.python.org/3/library/pathlib.html#correspondence -to-tools-in-the-os-module

pathlibを使用する可能性のあるopen()以外の場所はたくさんあります
処理:

  • conda_history = os.path.join(sys.prefix、 'conda-meta'、 'history')-return os.path.exists(conda_history)+ return Path(sys.prefix、 'conda-meta'、 'history') .exists()


あなたがコメントしたのであなたはこれを受け取っています。
このメールに直接返信し、GitHubで表示してください
https://github.com/ipython/ipython/issues/12515#issuecomment-706630653
または購読を解除する
https://github.com/notifications/unsubscribe-auth/ADMY5F73MJDQ6CL32KEUZS3SKD4LXANCNFSM4QNPWX2Q

役に立つかもしれません: https ://docs.python.org/3/library/pathlib.html#correspondence -to-tools-in-the-os-module

with open()以外にも、pathlib処理を使用する可能性のある場所はたくさんあります。

ただし...特にテキストとして解釈される場合は、些細なことではなく、エラーが発生しやすいものもあります。 たとえば、 PosixPathオブジェクトを返すと、他のシェル引数で' '.join()されているため、上記のスコープのコードが壊れます。

これを修正する場所はまだ残っていますか? 多くの人が取り組んでいるようです。
編集:いくつか見つけた、気にしない

これを修正する場所はまだ残っていますか? 多くの人が取り組んでいるようです。

PRをゆっくりチェックしてマージしていますが、他に場所が残っているかどうかわかりません。

これらはあなたが試すことができる他のことです。 cast_unicode / cast_bytesを使用するすべての場所を見つけて、それらが削除可能かどうかを確認します。 それらの多くは、古いPython2の互換性によるものです。

たとえば、

def find_file(obj) -> str:
  ...
    fname = None
    try:
        fname = inspect.getabsfile(obj)
    except TypeError:
        # For an instance, the file that matters is where its class was
        # declared.
        if hasattr(obj, '__class__'):
            try:
                fname = inspect.getabsfile(obj.__class__)
            except TypeError:
                # Can happen for builtins
                pass
    except:
        pass
    return cast_unicode(fname)

inspect.getabsfil常にバイトではなくstrを返すことを証明できる場合、 cast_unicodeは不要です。 少し手間がかかりますが、コードベースをクリーンアップします。

プロジェクト全体で関数を検索したところ、多くの関数が見つかりました。 それらすべてをPathlibの代替に置き換えることを検討する必要がありますか、それとも関数を置き換えないことを検討する必要があるファイルはどれですか?

私が言いたいことをあなたに理解させることができなかったらごめんなさい。

私はpaths.py取り組んでおり、いくつかの関数で次の行を見つけました。

assert isinstance(ipdir, str)

そのようなアサーションの1つは、 "all path manipulation should be str(unicode), but are not."というメッセージを表示します。

pathlibへの移動が機能するように、そのような行を削除する必要がありますか?

私はpaths.py取り組んでおり、いくつかの関数で次の行を見つけました。

assert isinstance(ipdir, str)

そのようなアサーションの1つは、 "all path manipulation should be str(unicode), but are not."というメッセージを表示します。

pathlibへの移動が機能するように、そのような行を削除する必要がありますか?

ええ、そのためにいくつかの場所が機能していません。

みなさん、こんにちは。私はすべてのPRを確認しようとしています。この問題に取り組む人はたくさんいます。すでに他のPRが開かれている変更を送信している人もいるので、注意してください。

なぜ今これが閉鎖されているのですか?

@meeseeksdevオープン

ああ、申し訳ありませんが、ashwinvisは許可されていないようです。リポジトリの管理者に問い合わせてください。

私はオープンソースの貢献に不慣れであり、この問題に取り組みたいと思っています。 変更が完了したら、PRを作成する前にコードをテストする最も簡単な方法は何でしょうか。

私はオープンソースの貢献に不慣れであり、この問題に取り組みたいと思っています。 変更が完了したら、PRを作成する前にコードをテストする最も簡単な方法は何でしょうか。

こんにちは@squarebat
これを行う必要があります:

  • リポジトリのルートで次のコマンドを実行して、テストの依存関係をインストールします。
$ pip3 install -e .[test]
  • 次に、でテストを実行します
$ iptest

test_run.pyファイルで作業したい。 ただし、そのファイルのいくつかのエラーを解決するのに問題があります。 2つの主なエラーは

  • undefined variable get_ipython (これはインポートを追加することで解決されますが、間違っているようです)

  • undefined variable _ip :一部の関数では_ip_ip = get_ipython()として初期化されるため定義されますが、他の関数では初期化されないためエラーが発生します。

pip install .を使用して環境をセットアップしました
環境のセットアップ中に間違いを犯したのか、それともtest_run.pyファイルにバグがあるのか​​を知りたかっただけです。

pip installを使用して環境をセットアップしました

pip install -e .[test]を使用する必要があります

-eは、編集可能モードでインストールすることを意味します。

こんにちは! オープンソースプロジェクトに貢献するのはこれが初めてです。この問題に取り組みたいと思います。
割り当てられますか?

このページは役に立ちましたか?
0 / 5 - 0 評価