Jom*_*ome 50 python pip psycopg2
我正在为我的一个讲座工作项目,我需要下载包psycopg2才能使用正在使用的postgresql数据库.不幸的是,当我尝试pip安装psycopg2时会弹出以下错误:
ld: library not found for -lssl
clang: error: linker command failed with exit code 1 (use -v to see invocation)
error: command '/usr/bin/clang' failed with exit status 1
ld: library not found for -lssl
clang: error: linker command failed with exit code 1 (use -v to see invocation)
error: command '/usr/bin/clang' failed with exit status 1
Run Code Online (Sandbox Code Playgroud)
有谁知道为什么会这样?是因为Sierra没有支持某些套餐吗?提前致谢!
zga*_*ger 195
我通过安装命令行工具修复此问题
xcode-select --install
Run Code Online (Sandbox Code Playgroud)
然后通过Homebrew安装openssl并手动将我的自制软件安装的openssl链接到pip:
env LDFLAGS="-I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib" pip install psycopg2
Run Code Online (Sandbox Code Playgroud)
在macOS Sierra 10.12.1上
小智 31
brew install postgresql
Run Code Online (Sandbox Code Playgroud)
如果 postgresql 存在,则运行:
brew upgrade postgresql
sudo pip install psycopg2
Run Code Online (Sandbox Code Playgroud)
在 venv:
env LDFLAGS='-L/usr/local/lib -L/usr/local/opt/openssl/lib -L/usr/local/opt/readline/lib' pip install psycopg2==2.8.4
Run Code Online (Sandbox Code Playgroud)
如果您只需要使用命令pip install psycopg2export macOSX 中的路径:
export LDFLAGS="-I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib"
Run Code Online (Sandbox Code Playgroud)
Dhe*_*nde 24
尝试通过以下方式安装:
pip install psycopg2-binary
Run Code Online (Sandbox Code Playgroud)
Apu*_*ain 18
我修复了它:
brew reinstall openssl
Run Code Online (Sandbox Code Playgroud)
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/opt/openssl/lib/
Run Code Online (Sandbox Code Playgroud)
Pau*_*sen 13
使用 pipenv install psycopg2 遇到类似问题:
ld:找不到 -lssl' 的库,'clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)',“错误:命令 'clang' 失败,退出状态为 1”,'
--- -------------------------------------',
我尝试了上述所有建议,但没有一个奏效。几个月前,我在另一个 virtualenv 中遇到过这个问题,并记得读过一些关于这是psycopg2 版本问题的内容。所以我尝试用 2.7.1 和 2.8.3 安装,但都失败了。不知何故,版本 2.7.7 有效:
pipenv install psycopg2==2.7.7
Run Code Online (Sandbox Code Playgroud)
希望我有时间进一步研究这个问题以了解真正发生的事情。但现在我没有,这奏效了。
小智 12
对于 Mac OS 11.06 BigSur M1,在 pyenv 下安装
brew reinstall libpq
brew reinstall openssl
Run Code Online (Sandbox Code Playgroud)
或者如果还没有安装的话安装
brew info libpq
brew info openssl
Run Code Online (Sandbox Code Playgroud)
将 2 个导出的输出逻辑组合起来,从
为了让编译器找到 openssl@3,您可能需要设置:
导出 LDFLAGS="-L/opt/homebrew/opt/openssl@3/lib"
导出 CPPFLAGS="-I/opt/homebrew/opt/openssl@3/include"
...导出LDFLAGS =“-L / opt / homebrew / opt / libpq / lib”
导出 CPPFLAGS="-I/opt/homebrew/opt/libpq/include"
进入
export LDFLAGS="-L/opt/homebrew/opt/libpq/lib -L/opt/homebrew/opt/openssl@3/lib"
export CPPFLAGS="-I/opt/homebrew/opt/libpq/include -I/opt/homebrew/opt/openssl@3/include"
Run Code Online (Sandbox Code Playgroud)
然后你可以重新安装psycopg2,强制重新编译,否则运行时会出现这个问题
pip uninstall psycopg2
pip install psycopg2 --no-cache-dir
Run Code Online (Sandbox Code Playgroud)
小智 6
安装/更新Xcode开发人员工具
xcode-select --install
Run Code Online (Sandbox Code Playgroud)查询postgres路径
find / -name pg_config 2>/dev/null
Run Code Online (Sandbox Code Playgroud)安装psycopg2,使用在步骤2中获得的路径。我的是'/usr/local/Cellar/postgresql/9.5.0/bin/pg_config'
PATH=$PATH:/usr/local/Cellar/postgresql/9.5.0/bin/ pip install psycopg2
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
18593 次 |
| 最近记录: |