当前位置: 首页 > 知识库问答 >
问题:

pip3使用python3安装在虚拟环境中。6由于ssl模块不可用而失败

龚铭
2023-03-14

(py36venv)vagrant@pvagrant-dev vm:/vagrant/venvs$pip3安装pep8

pip配置了需要TLS/SSL的位置,但是Python中的SSL模块不可用。

收集pep8无法获取URLhttps://pypi.python.org/simple/pep8/:确认ssl证书时出现问题:无法连接到HTTPS URL,因为ssl模块不可用。-跳过

无法找到满足要求的版本Pep8(来自版本:)没有找到匹配的分发为Pep8

背景信息-尝试转移到python 3.6。

安装了python3。6使用以下命令:

wgethttps://www.python.org/ftp/python/3.6.0/Python-3.6.0.tgz

tar-xvf-Python-3.6。0.tgz

cd Python-3.6。0
/配置--启用优化
make-j8 sudo make altinstall python3。6.

创建的虚拟环境:

蟒蛇3。6-m venv py36venv

源py36venv/bin/activate

试图安装Pep8

(py36venv)管道3安装pep8

pip配置了需要TLS/SSL的位置,但是Python中的SSL模块不可用。收集pep8

无法获取URLhttps://pypi.python.org/simple/pep8/:确认ssl证书时出现问题:无法连接到HTTPS URL,因为

SSL模块不可用。-跳过找不到满足pep8要求的版本(来自版本:),找不到与pep8匹配的发行版

共有3个答案

宫子晋
2023-03-14

正在运行的make在shell输出中向我报告:

The necessary bits to build these optional modules were not found:
_bz2                  _dbm                  _gdbm              
_sqlite3              _ssl                  _tkinter           
To find the necessary bits, look in setup.py in detect_modules() for the module's name.

在我的案例中(LinuxMint18.1,已经安装了openssl)解决了这个问题的是编辑设置。Python-3.6中的py。0文件夹,其中添加了openssl安装放置ssl的路径。将系统上的h文件转换为(/usr/include/openssl/ssl.h)。在这一节中,我添加了行“/usr/include”:

    # Detect SSL support for the socket module (via _ssl)
    search_for_ssl_incs_in = [
                          '/usr/local/ssl/include/',
                          '/usr/contrib/ssl/include/',
                          '/usr/include/'
                         ]
    ssl_incs = find_file('openssl/ssl.h', inc_dirs,
                         search_for_ssl_incs_in
                         )
郜修雅
2023-03-14

当我尝试使用python3创建虚拟环境时,我也遇到了同样的问题。6.0. 这是我针对Mac OS X 10.12的解决方案。2(Py_minion的评论非常接近):

我通过以下步骤创建环境:下载python3.6.0运行

./configure --prefix=<some_path>`
make
make install
mkvirtualenv --python=<some_path/bin/python3.6> foo

所以基本上类似于:https://stackoverflow.com/a/11301911/1286093

如果您有与我相同的问题,则在运行make时会出现类似的行

The necessary bits to build these optional modules were not found: _ssl
brew install openssl
brew unlink openssl && brew link openssl --force

您可以在下载的Python版本的目录中找到这些文件。

在第209-211行中进行注释,如果需要,进行更改(我必须将SSL变量更改为我的openssl位置)。

SSL=/usr/local/opt/openssl <---- THIS DEPENDS ON YOUR INSTALLATION
_ssl _ssl.c \
    -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
    -L$(SSL)/lib -lssl -lcrypto

假设这是openssl的位置

export CFLAGS="-I$(brew --prefix openssl)/include"
export LDFLAGS="-L$(brew --prefix openssl)/lib"

跑步

./configure --prefix=<some_path>`
make
make install
mkvirtualenv --python=<some_path/bin/python3.6> foo

我又耍了一次把戏

璩俊雅
2023-03-14

对于python3,我遵循了以下步骤。6在Ubuntu14.04和virtualenv pip中的安装工作正常。

Python 3.6安装:

sudo apt-get install python3-dev libffi-dev libssl-dev
wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tgz  
tar xvf Python-3.6.0.tgz
cd Python-3.6.0
./configure --enable-optimizations  
make -j8  
sudo make altinstall
python3.6

如果看到以下错误--

齐平波特。ZipImportError:无法解压缩数据;zlib不可用使:**[altinstall]错误1

尝试:

sudo apt-get install zlib1g-dev

验证:

在python3中创建virtualenv。6:

python3.6 -m venv testenv
source testenv/bin/activate
pip install pep8

使用pip:

(testenv) vagrant@pvagrant-dev-vm:~$ pip install pep8
*Collecting pep8
  Downloading pep8-1.7.0-py2.py3-none-any.whl (41kB)
    100% |████████████████████████████████| 51kB 4.1MB/s
Installing collected packages: pep8
Successfully installed pep8-1.7.0*

(testenv) vagrant@pvagrant-dev-vm:~$ pip list

pep8 (1.7.0) 
pip (9.0.1)
setuptools (28.8.0)
 类似资料:
  • 问题内容: 我有一个在Python 2虚拟环境中运行的Flask应用程序。 我希望运行Python 3程序,因此需要将python3安装到虚拟环境中。我该怎么做呢?我必须重新创建环境吗?这是困难的迁移吗? 问题答案: 不建议混合使用多个版本的Python。实际上,我什至认为这是不可能的。 创建一个新的virtualenv一点都不困难: 获取当前virtualenv中的模块列表 pip freeze

  • 我试图在Python3的虚拟环境中使用pip3安装包。Pip3在活动时指向虚拟环境。 包将不会安装,因为它们安装在虚拟环境之外,在虚拟环境之外已经满足。 如何在虚拟环境中安装软件包? 我如何才能确保我在虚拟环境中实际使用了解释器?当pip3不按照“which”返回的位置运行时,我不能确定我使用的python实际上是来自虚拟环境的python。 操作系统:UBUNTU 18.04

  • 我已经安装了一个创建了virtualenv machinelearn的应用程序,并在该环境中安装了一些python模块(pandas、scipy和sklearn)。 当我运行jupyter笔记本时,我可以在笔记本中导入熊猫和西皮-然而,当我尝试导入skLearning时,我会收到以下错误消息: 我能够在命令行导入所有模块-因此我知道它们已成功安装: 如何将sklearn导入运行在virtualen

  • 我是一个巨大的初学者,所以我不太了解包是如何真正工作的。我知道你应该在你的项目文件夹中创建一个虚拟环境,以避免版本冲突等,你不应该把你的实际项目文件放在虚拟环境中。因此,如果您的项目文件位于与虚拟环境相同级别的项目目录中,您的项目文件可以“访问”虚拟环境中安装的东西吗?目录之外的文件可以访问虚拟环境中的包吗?

  • 问题内容: 我正在使用 python 2.7 + virtualenv版本1.10.1 来运行myproject项目。由于其他一些项目要求,我不得不使用其他版本的python( Python 3.5 )和 Django 1.9 。为此,我在用户目录中安装了python。另外,我已经将virtualenv( version-15.1.0 )下载并安装到我的用户目录中。但是每当我尝试创建虚拟环境时,都

  • 我使用python 2.7虚拟环境版本1.10.1运行myproject项目。由于一些其他项目的要求,我必须使用Python的其他版本(Python 3.5)和Django 1.9。为此,我在我的用户目录中安装了python。此外,我已经下载并安装了虚拟环境(版本-15.1.0)到我的用户目录。但是每当我试图创建虚拟环境时,我都会遇到以下错误 谁能告诉我我做错了什么