python用Anaconda管理多个解释器,在各自的解释器下独立使用自己的包
先说哈问题背景,我在一个项目里写了两个py文件,然后两个文件都需要调用kmeans函数,不同之处在于其中一个py文件调用的kmeans函数的目标函数我需要修改,然而sklearn.cluster里面的文件都不能随便修改文件名,真的是稍有不慎一地bug,解决起来贼拉麻烦不说关键能否这么干也是个未知数。
先说下试错过程:我原本直接在sklearn.cluster.k_means_.py中修改多个函数,具体改了参数以及实现细节,因为函数调用就顺带着修改了sklearn.metrics.pairwise.py中的若干函数。原本这个修改贼拉方便的满足了我的需求,因为我需要利用的kmeans聚类不仅需要改变目标函数且需要多进程。但是在我因为另一个聚类需求需要调用最原始的kmeans聚类时,问题就出现了。我两种聚类都需要啊。于是1、我先尝试直接将修改了的kmeans()及其它函数都重命名,并入原始的py文件中,但是要顾及调用关系,就得顺带着修改pairwise里面的东西,好家伙,改的稀巴烂bug一堆,该法弃。2、我尝试将sklearn包在一个文件夹下复制,且重命名sklearn1,运行时import的时候就注意区分两个包名,很不出意外的出了AttributeError: type object ‘sklearn.neighbors.ball_tree.BallTree’ has no attribute 'valid_metrics’的错误,不出意外是我知道会有错,但是这个错怎么解决一顿搜,该法弃。3、开始尝试用Anaconda新建了一个解释器环境,且
python用Anaconda管理多个解释器,在各自的解释器下独立使用自己的包
最新推荐文章于 2024-05-17 05:42:01 发布
本文介绍了如何使用Anaconda为不同的Python项目创建独立的解释器环境,以解决在同一项目中两个文件需要调用相同包的不同版本或修改包内函数的问题。通过创建新的解释器环境,安装所需包,并在PyCharm中配置不同文件的解释器,确保每个文件都能使用其对应的包版本。
摘要由CSDN通过智能技术生成