Python 我应该如何安装和导入SimpleTransformer?

Python 我应该如何安装和导入SimpleTransformer?,python,pip,anaconda,conda,Python,Pip,Anaconda,Conda,我一直在使用以下conda&python verison: 康达版本:4.6.14 康达内部版本:3.17.8 python版本:3.7.3.final.0 我以以下方式安装了SimpleTransformer: conda create -n simpletransformers python pandas tqdm conda activate simpletransformers conda install pytorch cpuonly -c pytorch conda install

我一直在使用以下conda&python verison:

康达版本:4.6.14

康达内部版本:3.17.8

python版本:3.7.3.final.0

我以以下方式安装了SimpleTransformer:

conda create -n simpletransformers python pandas tqdm
conda activate simpletransformers

conda install pytorch cpuonly -c pytorch
conda install -c anaconda scipy
conda install -c anaconda scikit-learn
pip install transformers
pip install seqeval
pip install tensorboardx

pip install simpletransformers
这样做之后,我一直在尝试导入分类模型,但运气不太好:

导入SimpleTransformer
我得到以下错误:

ModuleNotFoundError:没有名为“simpletransformers”的模块


有人能指出我错在哪里吗?我正在使用PyCharm作为我的IDE。

从“”下载.whl文件

  • 打开命令提示符
  • 键入
    pip-install“path/simpletransformers-0.13.2-py3-none-any.whl”并点击enter
    检查包是否已安装。 注意,SimpleTransformer需要Python'>=3.6'

每当我有一个无法通过Anaconda Cloud获得的包时,即我必须从PyPI或GitHub安装,然后我为它创建一个YAML环境定义。这遵循了“”中列举的最佳实践

YAML的优点是它允许Conda一次解决所有问题,并允许将环境视为不可变对象(即,如果需要更改环境,请编辑YAML并重新创建)。这有助于避免由于运行一系列
conda安装
pip安装
conda更新
命令而不可避免地造成的混乱

对我来说,这是一个多阶段的过程,但对我来说却是一个可靠的工作流程:

混合Conda-PyPI环境的工作流
  • 查看非康达软件包的
    setup.py
    requirements.txt
  • 对于每个需求,请检查蟒蛇云(或
    conda search
    )以查看它是否作为conda包提供
  • 如果可用,将其作为(非pip)依赖项添加到YAML文件中。这确保了康达所能提供的一切
  • 此外,还要跟踪这些包来自的渠道。注意,我不会使用我不熟悉的私人频道。在这种情况下,
    pytorch
    conda forge
    默认值
    (即,
    anaconda
    )就足够了
  • 仅在YAML的
    pip
    部分下包含PyPI包,包括感兴趣的主包(即
    simpletransformers
    )。从技术上讲,您不需要包含其他依赖项,因为pip会自动将它们拉入,但我喜欢保持它们的明确性,以便如果我更新YAML,我可能会再次检查是否有人将PyPI包移植到Conda Forge

  • 使用YAML创建环境

    conda env create -n st_env -f simpletransformers.yaml
    
  • 检查是否有其他包作为依赖项从PyPI隐式拉入,但实际上通过Conda可用。编辑YAML以将其放入Conda dependencies部分。在这种情况下,
    keras
    显然也是需要的

  • 移除环境并使用更新的maximally Conda版本重新创建
  • 最重要的是:除非通过编辑YAML,否则切勿更改环境
  • 用于SimpleTransformers环境的YAML simpletransformers.yaml

    name: st_env
    channels:
      - pytorch
      - conda-forge
      - defaults
    dependencies:
      - python=3.7
      - pandas
      - tqdm
      - cpuonly
      - pytorch
      - transformers
      - scipy
      - scikit-learn
      - requests
      - tensorboardx
      - keras
      - pip
      - pip:
          - seqeval
          - simpletransformers
    
    安装

    conda env create -n st_env -f simpletransformers.yaml
    
    我在Mac和Ubuntu上使用Anaconda的工作:

  • 安装或安装Miniconda
  • 创建新的虚拟python 3.7环境并安装pandas和TQM
    conda create-n simplet python=3.7 TQM

    conda激活simplet
  • PyTorch
    3 a。GPU(
    在您的型号中使用_cuda=True
    conda安装pytorch cudatoolkit=10.1-c pytorch

    3 b。CPU(
    use_cuda=False
    在您的型号中):
    conda安装pytorch-cpuonly-c pytorch
  • 如果您想在NVIDIA GPU安装上使用fp16培训(不要使用
    pip
  • 安装SimpleTransformer。
    pip安装simpletransformers

  • @如果你按照我的回答去做,它就不会是一个全球安装的软件包。在
    conda env create-f
    事务期间,conda运行env本地的pip副本,以便在env的
    站点包中安装pip依赖项。如果您按照答案中的指示使用YAML创建env,然后使用“现有解释器”选项添加它,那么这不应该是一个问题。