我有一个 mysql.py文件,我在几乎所有的项目中都使用它。因为我不想复制和粘贴相同的文件到这些项目中的每一个,我写了一个模块-可能在未来的一个包。
mysql.py
我如何添加一个本地模块到我的 conda 环境,并自动更新或观看它时,我在 mysql.py的东西?如何为一个包裹做同样的事情?
我希望避免设置本地通道/存储库,而只是引用 mysql.py文件夹。
我有一个包装函式,我不得不在不同的脚本中多次调用它,所以我把这个文件 wrappers.py复制到了 Anaconda 的 网站套件文件夹中。在我的电脑上,这是在: C: ProgramData Anaconda3 Lib 站点包。然后,当我需要 wrappers.py的时候,我就把它导入到我的脚本中,像这样:
wrappers.py
import wrappers
如果希望确保导入成功,可以在 IDE 中选择 Anaconda 作为开发环境,然后在导入后调用 Intellisense: from wrappers import (intellisense suggestions)。或者你也可以使用 IDLE:
from wrappers import (intellisense suggestions)
>>> import wrappers >>>(if you get this prompt, this means the import was successful).
Conda 集成只有在创建 定制频道时才可能实现。这是因为 conda 在以下位置(基于你的操作系统)搜索软件包,并告诉 conda 在某些位置搜索你的模块,你必须安装 conda-build来创建一个自定义通道:
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。
import
如果您安装了 conda 构建包(并且您有一个包,而不仅仅是一个脚本) ,您可以在“可编辑”模式下安装:
conda develop .
这与 pip 中的“可编辑”模式非常相似
pip install -e .
这两种方法都允许您使用
conda develop -u .
或者
pip uninstall .
如果你只有一个脚本(而不是一个包) ,你可以编辑或者设置环境变量包含脚本的目录。
虽然前面的答案正在做我需要的事情,我只是想展示我将要使用的东西。反正我也打算了解康达套餐。
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_BLD_PATH
conda build conda.recipe
建立你的包和清理后,你与
conda build purge
读
寻求帮助。
索引每个平台。也许有人可以确认,这一步骤是不需要的,因为我的构建已经包含了 repodata.json。否则:
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构建软件包。 更新很简单
mypackage
meta.yaml
setup.py
conda update mypackage
看看你的方案是否有效:
python >>> import cli from mypackage >>> cli.cli() CLI template
这可能不是最佳方式,但我找不到包含上述所有步骤的教程。