无法在Pycharm中导入手动安装的库

时间:2018-11-08 03:50:11

标签: python aws-lambda pycharm virtualenv psycopg2

我正在编写一个Python脚本,它将作为lambda函数在AWS中运行。由于它需要连接到Postgres数据库,因此需要库ServiceBusEnvironment.SystemConnectivity.Mode = ConnectivityMode.Https 。看来标准psycopg2不适用于AWS lambda。我是从this git repo下载的。

我对所有依赖项都使用virtualenv,因此我将psycopg2-3.6文件夹从下载的程序包复制到psycopg2。在我的主脚本中,该库已导入

[myproject]/env/Lib/site-packages

但是,当我在PyCharm中运行它时,出现了错误:

import psycopg2

根据错误消息,看来它能够在虚拟环境包文件夹下找到 File "C:\Users\dxx0111\WorkSpace\iq-iot-lambda\app.py", line 2, in <module> import psycopg2 File "C:\Users\dxx0111\WorkSpace\iq-iot-lambda\env\lib\site-packages\psycopg2\__init__.py", line 50, in <module> from psycopg2._psycopg import ( # noqa ModuleNotFoundError: No module named 'psycopg2._psycopg' 的目录。它只是找不到psycopg2。我在这里想念什么?

1 个答案:

答案 0 :(得分:1)

事实证明,从该链接下载的psycopg2库仅在Amazon Linux上有效,因为这是编译软件包的位置。它在我的Windows计算机上不起作用。为了使其在本地工作,我必须将pip install psycopg2安装到我的虚拟环境中。但是,当我部署到AWS Lambda时,我使用下载的库进行压缩。 psycopg2在不同平台上也是如此。现在它在两个地方都可以使用。