Pycharm创建python venv虚拟环境失败的解决

工作日常 0 930 团子精英 收藏

在使用Pycharm创建python虚拟环境时,会报错如下:

pycharm.jpg

系统环境:Centos 7.9 

Pycharm版本:2024.3.5

Python版本:3.11.11

伴随还有一个SSL的报错

openssl.jpg

问题原因:

python3.11需要使用openssl 1.1.1 以上的版本,而Centos7默认的openssl版本是1.0.2版本。

解决方法:

重新编译python3.11,在此之前先手动编译openssl 1.1.1以上的版本

步骤如下:

1、编译openssl

这里以openssl 1.1.1v版本为例,先下载openssl的安装包

tar -zxvf openssl-1.1.1v.tar.z
cd openssl-1.1.1v
./config --prefix=/usr/local/openssl
make
make install

简单配置一下

cd /usr/local/openssl
ln -s lib64 lib


2、重新编译python3.11

cd /Python-3.11.6
./configure --with-openssl=/usr/local/openssl/
make
make install

可能有报错

*** WARNING: renaming "_ssl" since importing it failed: libssl.so.1.1: cannot open shared object file: No such file or directory
*** WARNING: renaming "_hashlib" since importing it failed: libcrypto.so.1.1: cannot open shared object file: No such file or directory

修改LD_LIBRARY_PATH

export LD_LIBRARY_PATH=/usr/local/openssl/lib:$LD_LIBRARY_PATH
ldconfig

再重新编译python3.11即可

以上解决了openssl 的报错问题

但是创建venv仍旧报错。

3、手动创建venv测试

python3.11 venv myenv
virtualenv  myenv

报错如下:

libssl.so.1.1: cannot open shared object file: No such file or directory

目测还是ssl的问题。

使用命令

openssl version

发现openssl还是1.0.2版本

对openssl 1.1.1版本进行一些配置

mv /usr/bin/openssl /usr/bin/openssl.old
mv /usr/lib/openssl /usr/lib/openssl.old
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
ldconfig -v

再次使用命令

openssl version

可以看到openssl 已经到了1.1.1版本

4、测试

python3.11 venv myenv
virtualenv  myenv

成功,问题解决

相关推荐:

网友留言:

您需要 登录账户 后才能发表评论

我要评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
验证码