Python 2.7导入ConfigParser ModuleNotFoundError:没有名为'ConfigParser'的模块

时间:2018-01-09 05:53:04

标签: python python-2.7 configparser

最近我有一个使用Python制作加密货币交易机器人的项目,然后我偶然发现Cointrader Library for Python,所以我使用该库帮助我构建这个项目,这里使用的交换器是Poloniex,所以我添加了Poloniex API密钥和秘密,但当我运行其中一个评论显示购买Cointrader库,检查余额(使用cmd和键入(cointrader balance)theres一个错误,我偶然发现,我不知道如何解决它,我一直在寻找错误几个小时仍然无法找到它,我真的需要你的帮助,谢谢你的社区:)

这是我使用的Python代码

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
import logging
import logging.config
import six
import ConfigParser

DEFAULT_CONFIG = ".cointrader.ini"


def get_path_to_config():
    env = os.getenv("HOME")
    return os.path.join(env, DEFAULT_CONFIG)


class Config(object):

    def __init__(self, configfile=None):

        self.verbose = False
        self.market = "poloniex"
        self.api_key = None
        self.api_secret = None

        if configfile:
            logging.config.fileConfig(configfile.name)
            config = ConfigParser()
            config.readfp(configfile)
            exchange = config.get("DEFAULT", "exchange")
            self.api_key = config.get(exchange, "api_key")
            self.api_secret = config.get(exchange, "api_secret")

    @property
    def api(self):
        if not self.api_key or not self.api_secret:
            raise RuntimeError("API not configured")
        return self.api_key, self.api_secret

这就是Python代码,这是我在cmd中运行(cointrader balance)时得到的错误

C:\Users\user>cointrader balance
Traceback (most recent call last):
  File "c:\users\user\appdata\local\programs\python\python36\lib\runpy.py", 
line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "c:\users\user\appdata\local\programs\python\python36\lib\runpy.py", 
line 85, in _run_code
    exec(code, run_globals)
  File 
"C:\Users\user\AppData\Local\Programs\Python\Python36\Scripts\
cointrader.exe\__main__.py", line 5, in <module>
  File "c:\users\user\appdata\local\programs\python\python36\lib\site-
packages\cointrader\cli.py", line 7, in <module>
    from cointrader.config import Config, get_path_to_config
  File "c:\users\user\appdata\local\programs\python\python36\lib\site-
packages\cointrader\config.py", line 7, in <module>
    import ConfigParser
ModuleNotFoundError: No module named 'ConfigParser'

C:\Users\user>

这是我从CMD获得的消息,当我尝试运行“cointrader balance”时应该显示我的平衡在Poloniex ...请我真的需要你的帮助,我真的不知道问题是什么,你可以在这里查看cointrader库:https://pypi.python.org/pypi/cointrader

非常感谢你的帮助: - )

2 个答案:

答案 0 :(得分:0)

记住@Klaus D的评论:

由于您使用的是Windows,因此您需要指定要使用的Python可执行文件。 I.e C:\Programfiles\Python2.7\Python.exe myscript.py

这可以通过手动输入命令,.bat文件或在桌面上创建指定要使用的Python.exe的快捷方式/图标来完成。 (对不起,如果我不对,自从我上次使用Windows以来已经过了几年)

另一种选择,将python 2.7 exe设置为alias,请参阅https://superuser.com/a/560558/633849

另外,如果我没记错的话;将Python安装到Windows时,安装程​​序会提供一个复选框选项,指示是否将该特定版本/安装作为默认python命令。

在Windows上安装多个版本的Python也不成问题。唯一的区别是Python.exe的文件夹。相当确定,您会在Python3.6

中找到Python3C:\Programfiles\文件夹

(如果在Linux上: 使用Python 2.7运行它而不是我所假设的是系统上的默认Python 3.6安装;不使用python myscript.py,而是使用python2.7 myscript.py

(当然所有依赖于实际安装的python 2.7)

答案 1 :(得分:0)

为了制作一个ConfigParser对象,你应该只写:config = ConfigParser而不是:config = ConfigParser()这使得它在解释器中对我有用。