我有一个通过DHL API跟踪订单的程序。它在PyCharm中效果很好,但是当我在cmd中运行该程序时,会出现错误。
我发现最明显的问题是PyCharm和cmd使用不同类型的python,因此我添加了print(platform.python_version()),可惜Pycharm使用3.6.5,而cmd使用3.6.4。我将cmd切换到3.6.5,但仍得到相同的不同结果。我保留了打印语句,它们都是3.6.5。我知道我正在运行相同的文件。
我的代码本身可以工作,问题出在PyCharm vs. cmd和正在使用的Python版本中,所以代码根本无济于事。
这是我在cmd上收到的错误消息:
Iterator operand 1 dtype could not be cast from dtype('<M8[us]') to dtype('<M8[D]') according to the rule 'safe'
关于NumPy并将文本转换为日期格式的错误。我并不特别关注该错误,只是他们输出的结果不同。谢谢您的帮助。
答案 0 :(得分:1)
听起来您在不同的Python环境中运行相同的文件,这就是为什么行为不同的原因。
有两种方法可以验证这一点。首先,通过导航(在Windows上)到File
-> Settings
-> Project: <YourProjectName>
-> Project Interpreter
,检查您的PyCharm项目使用的解释器。
这将列出解释器路径。如果是virtualenv,请尝试在您的cmd终端中将其激活,看看您是否仍能获得不同的行为。如果是Conda环境,则相同。
您可以做的另一件事(通常被认为是一个好主意),是创建一个与PyCharm环境匹配的虚拟环境,并在cmd提示符下使用它。 为此,请在您的PyCharm终端中键入以下内容:
点列表> requirements.txt
然后,在Windows CMD中:
python3 -m venv yourenv
要激活新环境:
。\ yourenv \ Scripts \ activate
要安装Pycharm环境的软件包,请执行以下操作:
(yourenv)pip install -r requirements.txt
然后尝试再次运行您的项目。 希望有帮助!