ファイルmysql.py
があり、ほとんどすべてのプロジェクトで使用しています。これらのプロジェクトのそれぞれに同じファイルをコピーして貼り付けたくないので、モジュールを作成しました。将来的にはパッケージになる可能性があります。
Conda環境にローカルモジュールを追加し、mysql.py
で何かを変更すると自動的に更新または監視する方法を教えてください。パッケージに対して同じことを行う方法は?
ローカルチャンネル/リポジトリをセットアップし、mysql.py
でフォルダーを参照することは避けたいと思います。
これまでの回答では必要なことを行っていますが、代わりに使用するものを示したいだけです。とにかくcondaパッケージについて学ぶことは私の計画だったので...
conda install -c conda-forge cookiecutter
パッケージを初期化するディレクトリに移動して、次の操作を行います。
cookiecutter https://github.com/conda/cookiecutter-conda-python.git
これにより、作成するパッケージに関する基本的な情報が要求されます。次に、リポジトリに変更します
cd myrepo
実行されていない場合は、conda-build
がインストールされていることを確認してください
conda install conda-build
anaconda-別のconda-buildルートディレクトリの使用-Stack Overflow で説明したように、必ずCONDA_BLD_PATH
を設定してください。これは、パッケージを検索できるディレクトリになり、次を実行します。
conda build conda.recipe
あなたのパッケージをビルドし、あなたの後にクリーンアップする
conda build purge
読む
助けを求めて。
各プラットフォームにインデックスを付けます。私のビルドには既にrepodata.json
が含まれているため、誰かがこのステップが不要であることを確認できるかもしれません。そうでなければ:
conda index D:\CODE\condamychannel\win-64
でパッケージが見つかるかどうかをテストします
conda search -c file:///D:\CODE\condamychannel --override-channels mypackage
または、(環境ごとに)構成にチャネルを直接追加します
conda config --add channels file:///D:\CODE\condamychannel
activate myenv
そして
conda install mypackage
mypackage
を変更したら、meta.yaml
およびsetup.py
で新しいバージョン番号を付け、conda build conda.recipe
でパッケージをビルドします。更新は単純です
conda update mypackage
パッケージが機能するかどうかを確認します。
python
>>> import cli from mypackage
>>> cli.cli()
CLI template
これは最適な方法ではないかもしれませんが、上記で説明したすべての手順を含むチュートリアルは見つかりませんでした。
Condaビルドパッケージをインストールする場合(スクリプトだけでなくパッケージがある場合)、「編集可能」モードでインストールできます。
conda develop .
(スクリプトを使用してディレクトリから実行)。これは、pipの「編集可能」モードに非常に似ています。
pip install -e .
どちらのアプローチでも、次のいずれかの方法でパッケージをアンインストールできます。
conda develop -u .
または
pip uninstall .
(パッケージではなく)スクリプトがある場合は、PYTHONPATH
環境変数を編集または設定して、スクリプトが含まれるディレクトリを含めることができます。
異なるスクリプトで複数回呼び出さなければならないラッパー関数があったので、そのファイルwrappers.py
をAnacondasite-packagesフォルダーにコピーしました。私のコンピューターでは、これはC:\ ProgramData\Anaconda3\Lib\site-packagesにありました。次に、wrappers.py
が必要なときはいつでも、次のようにスクリプトにインポートします。
import wrappers
インポートが成功したことを確認する場合は、IDEで開発環境としてAnacondaを選択し、インポート後にfrom wrappers import (intellisense suggestions)
のIntellisenseを呼び出すことができます。または、IDLEを使用することもできます。
>>> import wrappers
>>>(if you get this Prompt, this means the import was successful).
Conda統合は、 カスタムチャネル を作成した場合にのみ可能です。これは、condaが次の場所(OSに基づいて)でパッケージを検索し、condaに特定の場所でモジュールを検索するように指示するため、conda-build
をインストールしてカスタムチャネルを作成する必要があるためです。
- https://repo.continuum.io/pkgs/main/win-64
- https://repo.continuum.io/pkgs/main/noarch
- https://repo.continuum.io/pkgs/free/win-64
- https://repo.continuum.io/pkgs/free/noarch
- https://repo.continuum.io/pkgs/r/win-64
- https://repo.continuum.io/pkgs/r/noarch
- https://repo.continuum.io/pkgs/pro/win-64
- https://repo.continuum.io/pkgs/pro/noarch
- https://repo.continuum.io/pkgs/msys2/win-64
- https://repo.continuum.io/pkgs/msys2/noarch
レポ/チャンネルの作成を避けたい場合は、上記のような簡単なインポートで仕事をするはずです。さらに、モジュールに変更を加えて保存すると、スクリプトには常に最新のimport
が含まれます。