我试图在没有管理员权限的linux服务器上安装python3。我搜索了一下,发现了一些类似
的东西tar zxfv Python-3.11.tgz
find ~/python -type d | xargs chmod 0755
cd Python-3.11
./configure --prefix=$HOME/python --with-ssl=/usr/lib/ssl
make && make install
安装成功。但是当我运行pip3安装包时,它返回SSL
的错误。WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/numpy/
Could not fetch URL https://pypi.org/simple/numpy/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/numpy/ (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available.")) - skipping
服务器上的原始python可以连接到pypi.org。我认为这可能是一些路径错误时,python3.11安装没有sudo的权利。
概况吗?谢谢!
尝试如上所述配置SSL路径,但不工作。
./configure --prefix=$HOME/python --with-ssl=/usr/lib/ssl
您的构建缺少ssl模块,因为提供了一个不正确的配置选项:
--with-ssl
正确的配置选项是:
--with-openssl
路径应该是包含include/openssl/ssl.h
的目录,即如果您有
/path/to/openssl-1.1.1g/include/openssl/ssl.h
然后提供:
--with-openssl=/path/to/openssl-1.1.1g/
您将在./configure
的输出中看到是否找到了ssl.h
。在./configure
正确找到OpenSSL头文件之前,不要运行make
,否则你只会以一个破碎的构建结束,没有_ssl
扩展模块可用。
尝试创建一个虚拟环境。
python3 -m venv 'whatever you want to name your virtual environment'
,那么你可以PIP安装,你的包应该安装在本地的虚拟环境