首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有命名为证书的模块

没有命名为证书的模块
EN

Stack Overflow用户
提问于 2021-04-10 20:38:44
回答 2查看 1.2K关注 0票数 0

当在本地目录上执行python3 (Python3.6.8)脚本时,它工作得很好,但是当在slurm中运行批处理作业时,会抱怨证书。

代码语言:javascript
复制
python3 -m pip install certifi

Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: certifi in /usr/local/lib/python3.6/site-packages (2020.12.5)

添加到python代码后,如下所示:

代码语言:javascript
复制
import sys
import os
sys.path.append(os.getcwd())

或者这样:

代码语言:javascript
复制
import sys
import os
module_path = os.path.abspath(os.getcwd())

if module_path not in sys.path:

    sys.path.append(module_path)

出现相同的错误。似乎已安装证书。

代码语言:javascript
复制
pip show certifi

Name: certifi
Version: 2020.12.5
Summary: Python package for providing Mozilla's CA Bundle.
Home-page: https://certifiio.readthedocs.io/en/latest/
Author: Kenneth Reitz
Author-email: me@kennethreitz.com
License: MPL-2.0
Location: /usr/local/lib/python3.6/site-packages
Requires:
Required-by: requests

运行python代码后的错误(在python代码中没有'import certifi‘行):

代码语言:javascript
复制
Traceback (most recent call last):
  File "/home/username/test/test.py", line 19, in <module>
    from textattack.augmentation import WordNetAugmenter, EmbeddingAugmenter, EasyDataAugmenter, CharSwapAugmenter
  File "/home/username/.local/lib/python3.6/site-packages/textattack/__init__.py", line 12, in <module>
    from . import (
  File "/home/username/.local/lib/python3.6/site-packages/textattack/attack_recipes/__init__.py", line 21, in <module>
    from .attack_recipe import AttackRecipe
  File "/home/username/.local/lib/python3.6/site-packages/textattack/attack_recipes/attack_recipe.py", line 9, in <module>
    from textattack.shared import Attack
  File "/home/username/.local/lib/python3.6/site-packages/textattack/shared/__init__.py", line 11, in <module>
    from . import utils
  File "/home/username/.local/lib/python3.6/site-packages/textattack/shared/utils/__init__.py", line 1, in <module>
    from .install import *
  File "/home/username/.local/lib/python3.6/site-packages/textattack/shared/utils/install.py", line 9, in <module>
    import requests
  File "/home/username/.local/lib/python3.6/site-packages/requests/__init__.py", line 118, in <module>
    from . import utils
  File "/home/username/.local/lib/python3.6/site-packages/requests/utils.py", line 25, in <module>
    from . import certs
  File "/home/username/.local/lib/python3.6/site-packages/requests/certs.py", line 15, in <module>
    from certifi import where
ModuleNotFoundError: No module named 'certifi'

错误(在python代码中有行'import certifi‘):

代码语言:javascript
复制
Traceback (most recent call last):
  File "/home/username/projecttest_LR_attack/LR_attack.py", line 17, in <module>
    import certifi
ModuleNotFoundError: No module named 'certifi'

这个问题的解决方案是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-04-11 16:15:32

计算节点上是否安装了与本地相同的模块?您可能需要与Slurm管理员确认。

票数 0
EN

Stack Overflow用户

发布于 2021-04-10 20:42:35

这可能意味着/usr/local/lib/python3.6/site-packages/不是slurm中的sbatch作业有权访问的PYTHONPATH环境变量。您可以在运行时添加或追加它:

代码语言:javascript
复制
import sys
sys.path.append('/usr/local/lib/python3.6/site-packages/')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67034437

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档