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