anaconda 和版本管理中的自编程 python 包

问题描述

首先我得说我在“创建python包”领域完全是新手,所以我的方式可能不是最好的。

我目前正在开发一个我在 jupyter 中使用的个人 python 包。 我通过 anaconda 以及 anaconda 附带的所有标准库和工具安装了 python。 因此,我在 anaconda 站点包目录中创建了一个名为“matools”的目录。 在matools 中,我创建了一个__init__.py(它是空的)以及一个setup.py一个tools.py,等等。 setup.py 看起来像这样:

from setuptools import setup

with open("README",'r') as f:
    long_description = f.read()

setup(
   name='matools',version='1.0',description='A useful tool',long_description=long_description,author='maths',author_email='maths@gmx.com',packages=['matools'],install_requires=['warnings','shutil'],#external packages

)

现在我的问题:

Anaconda 安装在服务器上并且可以/应该被其他人使用。但是,我一直在更新软件包,因此,最好有两个版本,例如:v1.0(针对用户v1.1(针对开发人员)。 我认为可以使用不同的 conda 环境来实现这一点?,但没有详细说明如何做到这一点。 所以我的问题也是如何在不同的 conda 环境中设置不同的版本以及如何管理更新过程?

我也不是 100% 确定如何在我的情况下真正使用 setup.py 文件

非常感谢您的想法和支持

BR,数学

2020 年 3 月 4 日更新: 到目前为止,我尝试的是,我从当前/基础包状态(基础)创建了一个 .yam 文件,使用 conda env export --file env.yml。 在这文件中列出了我到目前为止安装的所有软件包。

我注意到一开始并未列出该软件包。因此,我使用 python setup.py develop 设置包(和 pip install ...如上所述,我将包存储在站点包目录中)。 这似乎有效:

    Creating /user/anaconda3/lib/python3.8/site-packages/matools.egg-link (link to .)
 Adding matools 1.0 to easy-install.pth file

之后它被列出:

-package=version=...
- pip:
      - matools==1.0

但是,如果我尝试从此 .yml 文件创建新环境,则会收到以下错误

Pip subprocess error:
....
ERORR: Could not find a version that satisfies the requirement matools==1.0 (from -r /user/condaenv.stiz9pk5.requirements.txt (line 1)) (from version: none)
ERROR: No matching distribution found for matools==1.0 (from -r /user/condaenv.stiz9pk5.requirements.txt (line 1)) 

然而,我什至在提到的目录中找不到这样的文件 condaenv.stiz9pk5.requirements.txt。

所以我的问题仍然是:如何安装/设置本地包,以便 anaconda 可以从 .yml 文件自动安装它。如果我更新包,我应该如何进行?

很多谢谢。感谢您的支持

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)