ubuntu - Python 站点包在执行时不被识别,但在 Python 控制台中被识别
问题描述
我正在尝试在 Ubuntu 20.04.01 LTS 虚拟机上从 PyCharm 终端运行 sh 文件。我有一个使用 MiniConda 为 Python 3.6 创建的虚拟环境,在设置中我可以验证是否安装了我想要的包(包括 numpy、scipy、torch 等)。写作时pip install numpy
,我可以验证要求已经满足/home/username/miniconda3/envs/DenseFusion/lib/python3.6/site-packages
。编写python --version
时返回正确的版本,3.6。移动到 Python 控制台并运行import numpy
时,没有错误(也没有任何其他包)。
在 cd'ing 到正确的文件夹(在 PyCharm 终端中)之后,我运行sudo ./experiments/scripts/eval_linemod.sh
(我想要的 sh 文件的位置)。这成功启动,执行以下一小段代码:
`#!/bin/bash
设置 -x 设置 -e
导出 PYTHONUNBUFFERED="True" 导出 CUDA_VISIBLE_DEVICES=0
python3 ./tools/eval_linemod.py --dataset_root
./datasets/linemod/Linemod_preprocessed --modeltrained_checkpoints/linemod/pose_model_9_0.01310166542980859.pth
--refine_modeltrained_checkpoints/linemod/pose_refine_model_493_0.006761023565178073.pth`
它执行的 python 脚本 eval_linemod.py 在脚本开头开始导入其包时返回以下错误。
ModuleNotFoundError: No module named numpy
尝试的任何包都会发生此错误。我对为什么脚本无法识别 venv 站点包感到困惑,即使所有其他步骤都验证了 venv 是可访问的。在此之前我从未使用过 Linux,并且正在尝试遵循 DenseFusion github 页面说明。如果我遗漏了 Linux 的一个非常简单的特性,请告诉我。任何帮助表示赞赏。
解决方案
推荐阅读
- php - 如何自定义结帐 woocommerce 字段?
- phpspreadsheet - phpspreadsheet 错误:消息:语法错误,意外'='
- linux - Knative 设置的确切系统要求是什么?为什么基本设置指南导致我资源枯竭?
- git - 将 Azure Devops 连接到内部 ip 存储库
- reactjs - 填充电流时引导新行
- matlab - 尝试在 for 循环中多次重复脚本时出错
- git - 尽管 ~/.ssh/known_hosts 有效,Git 仍会发出警告:“警告:永久添加到已知主机列表”
- spring - 我们使用spring boot开发web应用程序时是否需要使用main方法?
- c++ - 包含未定义行为的源代码使编译器崩溃是否合法?
- python-3.x - 使用 SimLex-999 评估 word2vec 模型