无法在 Pycharm 中导入手动安装的库
Can't import manually installed library in Pycharm
我正在编写一个 python 脚本,它将 运行 在 AWS 中作为 lambda 函数。由于它需要连接到 Postgres 数据库,因此需要库 psycopg2
。似乎标准 psycopg2
不适用于 AWS lambda。我是从 this git repo 下载的。
我对所有依赖项都使用 virtualenv,因此我将下载包中的 psycopg2-3.6 文件夹复制到 [myproject]/env/Lib/site-packages
。在我的主脚本中导入了这个库
import psycopg2
但是当我 运行 它在 PyCharm 时,我得到了错误:
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
的目录。它只是找不到 psycopg2._psycopg
。我在这里错过了什么?
事实证明,从 link 下载的 psycopg2
库只能在 Amazon Linux 上运行,因为这是编译包的地方。它在我的 Windows 机器上不起作用。为了让它在本地工作,我必须使用 pip install psycopg2
安装到我的虚拟环境中。但是,当我部署到 AWS Lambda 时,我会使用下载的库进行压缩。在不同的平台上如此不同psycopg2
。现在它在两个地方都有效。
我正在编写一个 python 脚本,它将 运行 在 AWS 中作为 lambda 函数。由于它需要连接到 Postgres 数据库,因此需要库 psycopg2
。似乎标准 psycopg2
不适用于 AWS lambda。我是从 this git repo 下载的。
我对所有依赖项都使用 virtualenv,因此我将下载包中的 psycopg2-3.6 文件夹复制到 [myproject]/env/Lib/site-packages
。在我的主脚本中导入了这个库
import psycopg2
但是当我 运行 它在 PyCharm 时,我得到了错误:
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
的目录。它只是找不到 psycopg2._psycopg
。我在这里错过了什么?
事实证明,从 link 下载的 psycopg2
库只能在 Amazon Linux 上运行,因为这是编译包的地方。它在我的 Windows 机器上不起作用。为了让它在本地工作,我必须使用 pip install psycopg2
安装到我的虚拟环境中。但是,当我部署到 AWS Lambda 时,我会使用下载的库进行压缩。在不同的平台上如此不同psycopg2
。现在它在两个地方都有效。