Python 3.x 为什么命令提示导入与升华文本导入不同?

Python 3.x 为什么命令提示导入与升华文本导入不同?,python-3.x,pandas,numpy,pip,sys.path,Python 3.x,Pandas,Numpy,Pip,Sys.path,我已经用pip安装了几个软件包(numpy/pandas/blpapi/pyarrow)。我在一个极好的环境中使用Windows 64位机器python3.6。 虽然所有包在命令提示符中显示为已正确导入,但我的升华脚本找不到某些包 为了尝试解决这个问题,我使用sys.path.insert并更改了脚本的名称,但没有效果。下面的回溯描述了我看到的情况: 命令提示符中的代码: 导入pyarrow >>>进口大熊猫 >>> 用升华(better_name.py)编码: print('Hi') 进口n

我已经用pip安装了几个软件包(numpy/pandas/blpapi/pyarrow)。我在一个极好的环境中使用Windows 64位机器python3.6。 虽然所有包在命令提示符中显示为已正确导入,但我的升华脚本找不到某些包

为了尝试解决这个问题,我使用sys.path.insert并更改了脚本的名称,但没有效果。下面的回溯描述了我看到的情况:

命令提示符中的代码:

导入pyarrow >>>进口大熊猫 >>> 用升华(better_name.py)编码:

print('Hi')
进口numpy
进口大熊猫
better_name.py的输出:

Hi
回溯(最近一次呼叫最后一次):
文件“C:\Users\Documents\better\u name.py”,第4行,在
进口大熊猫
ModuleNotFoundError:没有名为“pandas”的模块
在命令提示符中获取路径:

导入操作系统 >>>进口numpy >>>path=os.path.dirname(numpy.\uuuu文件\uuuuu) >>>打印(路径) C:\Users\AppData\Local\Programs\Python\Python36\lib\site packages\numpy >>>进口大熊猫 >>>path=os.path.dirname(熊猫文件) >>>打印(路径) C:\Users\AppData\Local\Programs\Python\Python36\lib\site packages\pandas 正在尝试使用sys.path.insert:

print('Hi')
导入系统
进口numpy
导入操作系统
sys.path.insert(1,r“C:\Users\AppData\Local\Programs\Python36\lib\site packages\pandas”)
输出:

C:\Users\Documents>better\u name.py
你好
回溯(最近一次呼叫最后一次):
文件“C:\Users\Documents\better\u name.py”,第7行,在
进口大熊猫
ModuleNotFoundError:没有名为“pandas”的模块

无论我是否将sys.path.insert中的参数更改为0,我都会得到相同的结果。

问题似乎是您的
默认版本的python指向
32位版本,即当您说
python
时,您的windows系统执行32位版本

一种解决方法是指定
64位版本的完整路径,即按

C:\PATH\TO\64-BIT-VERSION\PYTHON.EXE your_script.py 
从命令行


另一个选项是将windows环境变量设置为默认指向
64位版本
。这应该会有所帮助

您是否在虚拟环境中运行sublime脚本?是否安装了多个版本的python?没有在虚拟环境中运行升华脚本。我先安装了python3.7.4(32位),然后安装了python3.6.2(64位),因为pyarrow需要64位python。python-V在您的sublime脚本中返回Python3.6.2。请尝试执行以下操作:
import sys
print(sys.version)
——这将让您了解sublime脚本运行的是32位版本还是64位版本。3.7.4(tags/v3.7.4:e09359112e,2019年7月8日,19:29:22)[MSC v.1916 32位(英特尔)]是我得到的。所以我的sublime是32位的,python是64位的。这是否意味着我需要安装新版本的sublime?问题已解决。我无法按照您的建议启动脚本,因为Python3.7是在受管理员权限保护的区域下载的。我只是删除了Python3.7。我现在有一个功能齐全的BLOOMBERG-LINEDATA-PYTHON管道。非常感谢你!