【已解决】bash: /home/visionx/EXT-3/qfy/anaconda3/envs/mist/bin/pip: /home/visionx/an灵活使用pip install -e .

问题描述

        今天在进行环境迁移的时候遇到这样一个问题

Traceback (most recent call last):
  File "mist_v3.py", line 342, in <module>
    config = init(epsilon=epsilon, steps=steps, mode=mode, rate=rate)
  File "mist_v3.py", line 184, in init
    model = load_model_from_config(config, ckpt_path).to(device)
  File "mist_v3.py", line 53, in load_model_from_config
    model = instantiate_from_config(config.model)
  File "/home/visionx/EXT-3/qfy/project/mist/ldm/util.py", line 85, in instantiate_from_config
    return get_obj_from_str(config["target"])(**config.get("params", dict()))
  File "/home/visionx/EXT-3/qfy/project/mist/ldm/util.py", line 93, in get_obj_from_str
    return getattr(importlib.import_module(module, package=None), cls)
  File "/home/visionx/EXT-3/qfy/anaconda3/envs/mist/lib/python3.8/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 783, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/visionx/EXT-3/qfy/project/mist/ldm/models/diffusion/ddpmAttack.py", line 23, in <module>
    from ldm.models.autoencoder import VQModelInterface, IdentityFirstStage, AutoencoderKL
  File "/home/visionx/EXT-3/qfy/project/mist/ldm/models/autoencoder.py", line 6, in <module>
    from taming.modules.vqvae.quantize import VectorQuantizer2 as VectorQuantizer
ModuleNotFoundError: No module named 'taming'

        这是要安一下taming这个包的,而安装办法要通过源代码来实现,所以第一步是git clone下来源代码然后通过pip install -e .来进行安装 ,这个操作还是比较熟悉的,因为之前diffuser安装的时候也是同样的套路,二者有一个共通的地方,就是源码包需要包含setup.py文件,否则是无法通过pip install -e .来实现安装为库文件,供程序使用的。

        但是这次,我使用pip install -e .安装的时候却出现了下面这个错误:

bash: /home/visionx/EXT-3/qfy/anaconda3/envs/mist/bin/pip: /home/visionx/anaconda3/envs/mist/bin/python: bad interpreter: No such file or directory

        查了一下可以通过这种办法解决:

        我不太清楚下面这个python路径是谁的,于是我先用base环境下的替代,没有成功。

        甚至还是出现这个报错: 

bash: /home/visionx/EXT-3/qfy/anaconda3/envs/mist/bin/pip: /home/visionx/anaconda3/envs/mist/bin/python: bad interpreter: No such file or directory

        那可能base环境下的pip也不行?于是我又找了一个虚拟环境ldm的python解释器 来替代上图中红框蓝字部分,没有报“/home/visionx/anaconda3/envs/mist/bin/python: bad interpreter: No such file or directory”错,但是呢,又报了这个错:

***……  

File "/home/visionx/EXT-3/qfy/project/mist/ldm/models/diffusion/ddpmAttack.py", line 23, in <module>
    from ldm.models.autoencoder import VQModelInterface, IdentityFirstStage, AutoencoderKL
  File "/home/visionx/EXT-3/qfy/project/mist/ldm/models/autoencoder.py", line 6, in <module>
    from taming.modules.vqvae.quantize import VectorQuantizer2 as VectorQuantizer
ModuleNotFoundError: No module named 'taming'

        这很明显是还不能,那是什么原因呢?我该怎么解决呢?

解决办法

        我想到了之前diffuser安装的时候

        第一步,把需要安装taming的虚拟环境mist迁移到anaconda3/envs目录下
cp -r mist/ /home/visionx/ananconda3/envs

        这样的话可以用conda activate 进行激活,操作也更方便

        第二步,激活mist虚拟环境
conda activate mist
        第三步,进入到taming_transformers文件目录中,并执行pip操作
pip install -e .

        执行完之后,再执行所需要的python文件就可以了,比如

python mist_v3.py
        第四步:补充

        如果一开始执行了这几条命令的话

which pip
/home/visionx/anaconda3/envs/mist/bin/pip

which python
/home/visionx/anaconda3/envs/mist/bin/python

vim /home/visionx/anaconda3/envs/mist/bin/pip

         那需要把修改的内容改回原样,比如我的

vim /home/visionx/anaconda3/envs/mist/bin/pip

        完活!

完结撒花 

        未来并不是无限可能,有她和没她两种罢了

         

  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值