“Mô-đun ssl trong Python không khả dụng” khi cài đặt gói với pip3


122

Tôi đã cài đặt thành công Python 3.4 và Python 3.6 trên máy cục bộ của mình nhưng không thể cài đặt các gói với pip3.

Khi tôi thực hiện pip3 install <package>, tôi nhận được những điều sau lỗi liên quan đến SSL :

pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
Collecting <package>
  Could not fetch URL https://pypi.python.org/simple/<package>/: There was a problem confirming the ssl certificate: Can't connect to HTTPS URL because the SSL module is not available. - skipping
  Could not find a version that satisfies the requirement <package> (from versions: )
No matching distribution found for <package>

Làm cách nào để sửa lỗi cài đặt Python3.x của tôi để tôi có thể cài đặt các gói với pip install <package> ?


4
Bạn đã cài đặt pip3 trên ubuntu của mình một cách rõ ràng bằng lệnh chưa sudo apt-get install python3-pip??
Sidahmed

2
Hãy thử pip3 install --upgrade pipvà xem liệu bạn có nhận được thông báo tương tự hay không.
herry,

Câu trả lời:


92

Hướng dẫn từng bước để cài đặt Python 3.6 và pip3 trong Ubuntu

  1. Cài đặt các gói cần thiết cho Python và ssl: $ sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev

  2. Tải xuống và giải nén "Python-3.6.8.tar.xz" từ https://www.python.org/ftp/python/ vào thư mục chính của bạn.

  3. Mở terminal trong thư mục đó và chạy: $ ./configure

  4. Xây dựng và cài đặt: $ sudo make && sudo make install

  5. Cài đặt các gói với: $ pip3 install package_name


4
Đã làm việc trên "Raspbian GNU / Linux 9 (duỗi thẳng)"
Oktay

2
Cảm ơn bạn! Tôi đã đi vòng quanh để python3 hoạt động trên Ubuntu 14.04 cho đến khi tôi tìm thấy danh sách lệnh này.
jerrylogansquare

2
Vị cứu tinh Ubuntu của tôi.
markroxor

6
Điều này đã làm việc cho tôi. Cảm ơn nhiều. Tuy nhiên, có một điều tôi không thể hiểu được, tại sao không bắt đầu với bước 4 và chỉ "thực hiện; thực hiện cài đặt" một lần?
Paraphiliac Ostrich

1
Làm việc trong Ubuntu Beaver. Tôi đã sử dụng python3.7 và pip 19, luôn luôn với vấn đề SSL .....
eduardosufan

61

Nếu bạn đang sử dụng Red Hat / CentOS:

# To allow for building python ssl libs
yum install openssl-devel
# Download the source of *any* python version
cd /usr/src
wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz
tar xf Python-3.6.2.tar.xz 
cd Python-3.6.2

# Configure the build w/ your installed libraries
./configure

# Install into /usr/local/bin/python3.6, don't overwrite global python bin
make altinstall

cũng hoạt động cho python 2.7. chỉ cần thêm make và tạo altinstall
Jabda

Nếu bạn cần virtualenv, bạn phải chạy sudo /usr/local/bin/pip3.7 install virtualenv. Cảm ơn bạn vì câu trả lời này!
technocrat,

tuyệt vời, tôi gặp sự cố khi cài đặt python 2.7.13 cho hình ảnh docker cũ và cần openssl-develchạypython2.7 get-pip.py
Felipe

59

Nếu bạn đang sử dụng Windows và sử dụng anaconda, điều này phù hợp với tôi:

Tôi đã thử rất nhiều giải pháp khác không hoạt động (Thay đổi biến PATH Môi trường ...)

Sự cố có thể do các tệp DLL trong thư mục Windows \ System32 (ví dụ: libcrypto-1_1-x64.dll hoặc libssl-1_1-x64.dll hoặc các tệp khác) được đặt ở đó bởi phần mềm khác.

Bản sửa lỗi là cài đặt openSSL từ https://slproweb.com/products/Win32OpenSSL.html , thay thế các dlls bằng các phiên bản mới hơn.


2
Tôi vừa mới cài đặt nó. Trong danh sách các chương trình được cài đặt trên hệ thống của tôi, tôi có ba phiên bản OpenSSL (hai phiên bản 64 bit và một phiên bản 32 bit, mặc dù tôi đang sử dụng hệ thống 64 bit). Tôi không biết đã cài đặt tất cả chúng, vì vậy tôi đã để chúng ở đó.
juergi

1
Đây là giải pháp thẳng thắn nhất mà tôi đã tìm thấy sau nhiều tìm kiếm. Pip không hoạt động do lỗi OpenSSL. Spyder cũng gặp sự cố khi khởi chạy do lỗi "không thể nhập tên 'HTTPSHandler' từ 'urllib.request'". Điều này đã được cách ly với windows 10 python 3 đối với tôi. Nhận xét để hy vọng giúp liên kết giải pháp cho mọi người trên googling, hầu hết các kết quả hàng đầu đều là các giải pháp cũ và phức tạp.
Dick McManus

8
Nếu bạn đang sử dụng Windows và sử dụng Anaconda, chỉ cần sử dụng Anaconda Prompt thay vì cmd để chạy "pip install". Không cần thay đổi thêm DLL / SSL.
FatihAkici

1
@FatihAkici - Cảm ơn rất nhiều. Nó đã giúp đỡ tôi.
Raju Penumatsa

2
Tôi đã chuẩn bị phá máy tính của mình, đã sử dụng pycharm trên rất nhiều máy và hệ điều hành nhưng trên cửa sổ mới này, tôi đã cài đặt anaconda và có vẻ như nó đã bị hỏng pip. Tôi đã duyệt trong 2 giờ, cảm ơn bạn rất nhiều. <3
Benoit F

34

Tôi đã gặp sự cố tương tự trên OSX 10.11 do cài đặt memcached đã cài đặt python 3.7 trên 3.6.

CẢNH BÁO: pip được định cấu hình với các vị trí yêu cầu TLS / SSL, tuy nhiên mô-đun ssl trong Python không khả dụng.

Đã dành hàng giờ để hủy liên kết openssl, cài đặt lại, thay đổi đường dẫn .. và không giúp được gì. Thay đổi phiên bản openssl trở lại từ phiên bản cũ hơn đã thực hiện thủ thuật:

brew switch openssl 1.0.2e

Tôi không thấy đề xuất này ở bất cứ đâu trên internet. Hy vọng nó phục vụ ai đó.


3
Tôi đã gặp vấn đề tương tự với MacOS Catalina 10.5.4 (Beta), bây giờ nó đã hoạt động. Cảm ơn bạn!
Peter Rosemann

14
Đối với tôi đó là brew switch openssl 1.0.2s. Nhưng đó là nó. Bạn đã cứu tôi, cảm ơn!
antonio

3
Đang thử điều này nhưng nó liên tục cho tôi biết openssl không có phiên bản "1.0.2e" trong Cellar. openssl không có phiên bản "1.0.2s" trong Cellar.
James Parker

Antonio, James: bất kỳ phiên bản cũ hơn bạn có. Cellar của tôi có 1.0.2e nên tôi đã sử dụng cái này. Tôi rất vui vì nó đã giúp.
dsomnus

4
Cảm ơn bạn rất nhiều! Đối với tôi, giải pháp chuyển sang phiên bản cũ hơn của bạn opensslđã hoạt động: brew switch openssl 1.0.2t Tôi đang sử dụng Mac OS Catalina 10.15.3. Hy vọng nó giúp.
viraj.kulkarni

25

Đồng ý với câu trả lời của mastaBlasta. Đã làm cho tôi. Tôi gặp phải vấn đề tương tự như mô tả chủ đề.

Môi trường: MacOS Sierra. Và tôi sử dụng Homebrew.

Giải pháp của tôi:

  1. Cài đặt lại openssl bằng brew uninstall openssl; brew install openssl
  2. Theo các gợi ý được đưa ra bởi Homebrew, hãy làm như sau:

    echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile
    export LDFLAGS="-L/usr/local/opt/openssl/lib"
    export CPPFLAGS="-I/usr/local/opt/openssl/include"

3
Cảm ơn, mẹo là brew uninstall openssl, brew install openssl. Tôi đã thử brew reinstall opensslmà không có tác dụng. Nhưng gỡ cài đặt / cài đặt hoạt động!
Jeff Tian

5
phải chạybrew uninstall --ignore-dependencies openssl
elad silver

16

Trong Ubuntu, điều này có thể giúp:

cd Python-3.6.2
./configure --with-ssl
make
sudo make install

4
Tại sao chúng ta thực sự phải xây dựng python từ nguồn cho việc này? không có giải pháp nào hoạt động với các bản phân phối python tiêu chuẩn? Tôi hy vọng một cách ngây thơ rằng việc thêm mô-đun này sẽ có thể thực hiện được mà không cần ghi đè tệp nhị phân python, mà chúng tôi không phải lúc nào cũng dễ dàng biết được vị trí nguồn tương ứng, trên một hệ thống trực tiếp chưa được cài đặt mới.
matanster 16/02/19

Đã thử điều này, không thay đổi bất cứ điều gì
usernumber

9
Tôi nhận được cảnh báo cho biết tùy chọn này không được công nhận
ma3oun 19/03/19

Tôi đã phải thêm một số 'sudo' vào các lệnh đó, nhưng chúng hoạt động khi các câu trả lời khác không thành công!
Paco Abato


5

Sự cố có thể do thiếu thư viện.

Trước khi bạn cài đặt python 3.6, hãy đảm bảo rằng bạn cài đặt tất cả các thư viện cần thiết cho python.

$ sudo apt-get install build-essential checkinstall 
$ sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev

Thông tin thêm về Cách cài đặt Python 3.6.0 trên Ubuntu & LinuxMint


5

Nếu bạn đang sử dụng OSX và đã biên dịch python từ nguồn:

Cài đặt openssl bằng cách sử dụng brew brew install openssl

Đảm bảo làm theo các hướng dẫn mà brew cung cấp cho bạn về việc cài đặt CPPFLAGSLDFLAGS. Trong trường hợp của tôi, tôi đang sử dụng openssl@1.1công thức pha và tôi cần 3 cài đặt sau để quá trình xây dựng python liên kết chính xác đến thư viện SSL của tôi:

export LDFLAGS="-L/usr/local/opt/openssl@1.1/lib"
export CPPFLAGS="-I/usr/local/opt/openssl@1.1/include"
export PKG_CONFIG_PATH="/usr/local/opt/openssl@1.1/lib/pkgconfig"

Giả sử thư viện được cài đặt tại vị trí đó.


vẫn cùng một vấn đề
Gaurav Paliwal

Thử cài đặt lại pip
mastaBlasta

@GauravPaliwal, @mastaBlasta: Đối với tôi, chuyển sang phiên bản cũ hơn opensslđã hoạt động: brew switch openssl 1.0.2t Tôi đang sử dụng Mac OS Catalina 10.15.3. Hy vọng nó giúp.
viraj.kulkarni

5

Tôi gặp phải vấn đề tương tự trên windows 10. Vấn đề rất cụ thể của tôi là do cài đặt Anaconda của tôi. Tôi đã cài đặt Anaconda và theo đường dẫn Path/to/Anaconda3/, có python.exe. Do đó, tôi đã không cài đặt python vì Anaconda bao gồm python. Khi sử dụng pip để cài đặt các gói, tôi thấy cùng một báo cáo lỗi,pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available. .

Giải pháp là như sau:

1) bạn có thể tải lại python trên trang web chính thức ;

2) Điều hướng đến thư mục nơi "Python 3.7 (64-bit).lnk" vị trí

3) import sslexit()

4) nhập cmd, "Python 3.7 (64-bit).lnk" -m pip install tensorflow chẳng hạn.

Ở đây, bạn đã sẵn sàng.


Không phải là một sửa chữa, nhưng chắc chắn hoàn thành công việc. Ít nhất cũng giúp bạn cài đặt thiếu sót. Điều tôi nhận ra trên máy cục bộ của mình là tôi có các mục nhập xung đột trong biến PATH cho python (ví dụ: Anaconda 2.7 64-bit và Python 3.7 32-bit)
AP.

Ngoài ra, để cải thiện câu trả lời này, bạn có thể lưu trữ đường dẫn tuyệt đối trong một biến và chạy nó dưới dạng: cmd /c $py .\main.py( Powershell ) hoặc cmd /c %py% .\main.py( Dos ). Điều này sẽ chạy nó trong trình bao hiện có của bạn và có thể được viết theo tập lệnh
AP.

5

Nếu bạn đang sử dụng Windows và sử dụng Anaconda, bạn có thể thử chạy lệnh "pip install ..." trong Anaconda Prompt thay vì cmd.exe, như người dùng willliu1995 đề xuất ở đây . Đây là giải pháp nhanh nhất đối với tôi, không yêu cầu cài đặt các thành phần bổ sung.


4

Tôi đã thử RẤT NHIỀU cách để giải quyết vấn đề này và không cách nào giải quyết được. Tôi hiện đang sử dụng Windows 10.

Điều duy nhất hoạt động là:

  • Gỡ cài đặt Anaconda
  • Gỡ cài đặt Python (tôi đang sử dụng phiên bản 3.7.3)
  • Cài đặt lại Python (nhớ kiểm tra tùy chọn để tự động thêm vào PATH)

Sau đó, tôi đã tải xuống tất cả các lib mà tôi cần bằng PIP ... và hoạt động!

Không biết tại sao, hoặc nếu vấn đề bằng cách nào đó liên quan đến Anaconda.


3

cho người dùng osx brew

sự cố của tôi xuất hiện liên quan đến cài đặt python của tôi và nhanh chóng được giải quyết bằng cách cài đặt lại python3 và pip. tôi nghĩ rằng nó bắt đầu hoạt động sai sau khi cập nhật hệ điều hành nhưng ai biết được (tại thời điểm này, tôi đang sử dụng Mac OS 10.14.6)

brew reinstall python3 --force
# setup pip
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python3 get-pip.py
# installa pkg successfully 
pip install pandas

Cảm ơn bạn vì câu trả lời này! Trong trường hợp của tôi, sự cố bắt đầu xảy ra sau khi cập nhật lên Catalina (10.15.3) và tôi thấy rằng bước đầu tiên của bạn brew reinstall python3 --forcelà đủ: piphoạt động trở lại sau đó, tôi không cần cài đặt lại pip.
PLL

3

Bạn có thể thực hiện một trong hai cách sau:

  1. Trong khi cài đặt Anaconda, hãy chọn tùy chọn để thêm Anaconda vào đường dẫn .

hoặc là

  1. Tìm các đường dẫn (đầy đủ) này từ thư mục cài đặt Anaconda của bạn và thêm chúng vào biến môi trường :

\ Anaconda

\ Anaconda \ Library \ mingw-w64 \ bin

\ Anaconda \ Library \ usr \ bin

\ Anaconda \ Library \ bin

\ Anaconda \ Scripts

\ anaconda \ Thư viện

\ anaconda \ condabin

Thêm các đường dẫn trên vào biến hệ thống "Đường dẫn" và nó sẽ không hiển thị lỗi nữa :)


1
Một giải pháp thay thế là sử dụng 'dấu nhắc anaconda' cụ thể có các biến môi trường này được thiết lập chính xác.
Tuula

2

Tôi đang gặp sự cố tương tự và có thể giải quyết bằng các bước sau:

sudo yum install -y libffi-devel
sudo yum install openssl-devel
cd /usr/src
sudo wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tar.xz
sudo tar xf Python-3.7.1.tar.xz
cd Python-3.7.1
sudo ./configure --enable-optimizations
# Install into /usr/local/bin/python3.7, don't overwrite global python bin
sudo make altinstall

tùy thuộc vào perms, bạn có thể không cần sudo.

Results:
Collecting setuptools
Collecting pip
Installing collected packages: setuptools, pip
Successfully installed pip-10.0.1 setuptools-39.0.1

bây giờ có thể chạy

python3.7 -V 

pip3.7 -V

Khi cài đặt các gói:

pip3.7 install pandas

hoặc tùy thuộc vào perms, bạn cũng có thể thêm cờ --user như sau:

pip3.7 install pandas --user

2

Các sslmô-đun là một wrapper TLS / SSL để truy cập Operation Sytem (OS) ổ cắm ( Lib / ssl.py ). Vì vậy, khi sslmô-đun không có sẵn, rất có thể bạn chưa cài đặt thư viện OS OpenSSL hoặc không tìm thấy những thư viện đó khi bạn cài đặt Python. Giả sử đó là một trường hợp sau (hay còn gọi là: bạn đã cài đặt OpenSSL, nhưng chúng không được liên kết chính xác khi cài đặt Python).

Tôi cũng sẽ cho rằng bạn đang cài đặt từ nguồn. Nếu bạn đang cài đặt từ tệp nhị phân (ví dụ: tệp Window .exe) hoặc gói (Mac .dmg hoặc Ubuntu apt), bạn không thể làm gì nhiều với quá trình cài đặt.

Trong bước định cấu hình cài đặt python của bạn, bạn cần chỉ định nơi OS OpenSSL sẽ được sử dụng để liên kết:

# python 3.8 beta
./configure --with-openssl="your_OpenSSL root"

Vậy bạn sẽ tìm thấy thư mục OpenSSL đã cài đặt của mình ở đâu?

# ubuntu 
locate ssl.h | grep '/openssl/ssl.h'

/home/user/.linuxbrew/Cellar/openssl/1.0.2r/include/openssl/ssl.h
/home/user/envs/py37/include/openssl/ssl.h
/home/user/miniconda3/envs/py38b3/include/openssl/ssl.h
/home/user/miniconda3/include/openssl/ssl.h
/home/user/miniconda3/pkgs/openssl-1.0.2s-h7b6447c_0/include/openssl/ssl.h
/home/user/miniconda3/pkgs/openssl-1.1.1b-h7b6447c_1/include/openssl/ssl.h
/home/user/miniconda3/pkgs/openssl-1.1.1c-h7b6447c_1/include/openssl/ssl.h
/usr/include/openssl/ssl.h

Hệ thống của bạn có thể khác với của tôi, nhưng như bạn thấy ở đây, tôi có nhiều thư viện openssl được cài đặt khác nhau. Tại thời điểm viết bài này, python 3.8 mong đợi openssl 1.0.2 hoặc 1.1:

Python yêu cầu libssl tương thích với OpenSSL 1.0.2 hoặc 1.1 với X509_VERIFY_PARAM_set1_host ().

Vì vậy, bạn sẽ cần xác minh thư viện đã cài đặt nào mà bạn có thể sử dụng để liên kết, ví dụ:

/usr/bin/openssl version

OpenSSL 1.0.2g  1 Mar 2016
./configure --with-openssl="/usr"
make && make install

Bạn có thể cần thử một số hoặc cài đặt mới để tìm thư viện hoạt động cho Python và hệ điều hành của bạn.


1

Trong trường hợp của tôi với việc sử dụng Mac, tôi đã xóa /Applications/Python 3.7. bởi vì tôi đã có Python3.7 bởibrew install python3 .

Nhưng nó là một kích hoạt của thông điệp

pip được định cấu hình với các vị trí yêu cầu TLS / SSL, tuy nhiên mô-đun ssl trong Python không khả dụng.

Tôi đã làm gì trong hoàn cảnh của mình

  1. Tôi đã tải xuống lại trình cài đặt macOS 64-bit và cài đặt.
  2. Nhấp đúp /Applications/Python3.6/Install Certificates.command/Applications/Python3.6/Update Shell Profile.command .
  3. Khởi động lại mac
  4. Và tôi không chắc nhưng có thể góp phần vào thành công là như vậy pip.conf. Xem pip cài đặt không thành công .

1

Cuối cùng tôi giải quyết vấn đề này. Đây là chi tiết về env của tôi:
Phiên bản Python để cài đặt: 3.6.8
Hệ điều hành: Ubuntu 16.04.6 LTS
Quyền truy cập gốc: Không

Một số người đề nghị cài đặt libssl-dev, nhưng nó không hoạt động với tôi. Tôi theo liên kết này và tôi đã sửa nó!
Tóm lại, tôi tải xuống, giải nén, xây dựng và cài đặt OpenSSL (openssl-1.1.1b.tar.gz). Sau đó, tôi sửa đổi .bashrctệp theo liên kết này .
Tiếp theo, tôi tải xuống và giải nén Python-3.6.8.tgz. Tôi chỉnh sửa Modules / Setup.dist để sửa đổi đường dẫn SSL (các dòng xung quanh # 211). Tôi đã làm ./configure --prefix=$HOME/opt/python-3.6.8, makemake install. Cuối cùng, tôi sửa đổi của tôi .bashrc. Lưu ý rằng tôi không bao gồm --enable-optimizationstrong ./configure.


0

Trên macos, cấu hình python 3.8.1 bằng lệnh dưới đây sẽ giải quyết được vấn đề, tôi nghĩ nó cũng sẽ hoạt động trên Linux.

./configure --enable-optimizations --with-openssl=/usr/local/opt/openssl@1.1/

thay đổi tham số dir dựa trên hệ thống của bạn.


0

Nếu bạn đang sử dụng OSX và trong trường hợp các giải pháp khác không hoạt động với bạn (giống như tôi).

Bạn có thể thử gỡ cài đặt python3 và nâng cấp pip3

brew uninstall --ignore-dependencies python3
pip3 install --upgrade pip   

Điều này đã làm việc cho tôi;)


0

(KHÔNG trên Windows!)

Điều này khiến tôi phải vò đầu bứt tóc trong một tuần, vì vậy tôi hy vọng điều này sẽ giúp được ai đó

Tôi đã thử mọi thứ chỉ cần cài đặt lại Anaconda và / hoặc Jupyter.

Thiết lập

  • AWS Linux
  • Cài đặt thủ công Anaconda 3-5.3.0
  • Python3 (3.7) đang chạy bên trong anaconda (tức là, ./anaconda3/bin/python)
  • cũng có /usr/bin/python/usr/bin/python3(nhưng chúng không được sử dụng vì hầu hết công việc được thực hiện trong thiết bị đầu cuối của Jupyter)

Sửa chữa

Trong thiết bị đầu cuối của Jupyter:

cp /usr/lib64/libssl.so.10 ./anaconda3/lib/libssl.so.1.0.0

cp /usr/lib64/libcrypto.so.10 ./anaconda3/lib/libcrypto.so.1.0.0

Điều gì đã kích hoạt điều này?

Vì vậy, tất cả điều này đã hoạt động cho đến khi tôi cố gắng làm conda install conda-forge

Tôi không chắc chuyện gì đã xảy ra, nhưng conda chắc đã cập nhật openssltrên hộp (tôi đoán vậy) nên sau chuyện này, mọi thứ đã vỡ lở .

Về cơ bản, tôi không biết, conda đã cập nhật openssl, nhưng bằng cách nào đó đã xóa các thư viện cũ và thay thế nó bằng libssl.so.1.1libcrypto.so.1.1.

Python3, tôi đoán, được biên dịch để tìm kiếm libssl.so.1.0.0

Cuối cùng, chìa khóa để chẩn đoán là:

python -c "import ssl; print (ssl.OPENSSL_VERSION)"

đã đưa ra manh mối library "libssl.so.1.0.0" not found

Giả định rất lớn mà tôi đưa ra là yumphiên bản của ssl giống với condaphiên bản, vì vậy chỉ cần đổi tên đối tượng được chia sẻ có thể hoạt động và nó đã làm được.

Giải pháp khác của tôi là biên dịch lại python, cài đặt lại anaconda, v.v., nhưng cuối cùng tôi rất vui vì tôi không cần phải làm vậy.

Hy vọng điều này sẽ giúp các bạn ra ngoài.


0

Trong trường hợp sử dụng pyenvđể quản lý cài đặt python trên Mac OS Catalina, tôi phải cài đặt opensslbằng brew trước và sau đó chạy pyenv install 3.7.8sau đó dường như xây dựng cài đặt python bằng opensslfrom homebrew (nó thậm chí còn nói như vậy trong đầu ra cài đặt). Sau đó pyenv global 3.7.8và tôi đã đi xa.


0

Tôi đã có thể sửa lỗi này bằng cách cập nhật phiên bản python trong tệp này. pyenv: phiên bản 3.6.5 chưa được cài đặt (đặt bởi /Users/taruntarun/.python-version) Mặc dù tôi đã cài đặt phiên bản mới nhất, lệnh của tôi vẫn đang sử dụng phiên bản cũ 3.6.5

Chuyển sang phiên bản 3.7.3


-1

Tôi đã gặp vấn đề tương tự trong hai ngày qua và chỉ đã khắc phục được nó ngay bây giờ.

Tôi đã cố gắng để sử dụng --trust-hosttùy chọn với các DigiCert_High_Assurance_EV_Root_CA.pemcông việc đã làm không, tôi không thể cài đặt các module ssl (Nó nói nó không thể được cài đặt cho các phiên bản python lớn hơn 2,6), thiết lập các $PIP_CERTbiến không khắc phục được nó, hoặc và tôi đã có libssl1.0.2libssl1.0.0cài đặt. Cũng đáng nói là tôi không có ~/.pip/pip.conftệp và việc tạo nó cũng không giải quyết được lỗi.

Điều cuối cùng đã giải quyết được nó, đó là cài đặt lại python3.6 make. Tải Python-3.6.0.tgz từ trang web, chạy configuresau đó make, make testmake install. Hi vọng nó sẽ giúp ích cho bạn.


2
Xin lỗi, nhưng đã phải từ chối do điều này chỉ đơn giản là nói để lặp lại các bước tương tự đã gây ra lỗi này. Tôi không biết làm thế nào bạn sẽ mong đợi chạy các lệnh giống nhau trên cùng một nguồn python và nhận được các kết quả khác nhau!
Jamie Lindsey

-1

Các tài liệu python thực sự là rất rõ ràng, và theo các hướng dẫn đã làm các công việc trong khi câu trả lời khác tôi tìm thấy ở đây không được sửa chữa vấn đề này.

  1. đầu tiên, cài đặt python 3.xx từ nguồn bằng cách sử dụng, ví dụ với phiên bản 3.6.2 https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz

  2. đảm bảo rằng bạn đã cài đặt openssl bằng cách chạy brew install openssl

  3. giải nén nó và di chuyển đến thư mục python: tar xvzf Python-3.6.2.tar.xz && cd Python-3.6.2

  4. thì nếu phiên bản python <3.7, hãy chạy

CPPFLAGS="-I$(brew --prefix openssl)/include" \ LDFLAGS="-L$(brew --prefix openssl)/lib" \ ./configure --with-pydebug 5. về mặt tài chính, chạy make -s -j2(-s là lá cờ im lặng, -j2cho máy của bạn sử dụng 2 công việc)


j là cách ghi nhớ của "công việc", là số lượng quy trình được chạy song song trong quá trình xây dựng. Đối với cờ s, nó vẫn xuất ra các cảnh báo, nhưng không có thêm tiếng ồn của các mức thông tin / gỡ lỗi. Các cờ này được sử dụng trong hướng dẫn tài liệu python.
pglaser 10/1218

-1

Tôi đã gặp sự cố tương tự khi cố gắng cài đặt python3.7 trên máy ubuntu14.04. Vấn đề là tôi có một số thư mục tùy chỉnh trong PKG_CONFIG_PATH và trong LD_LIBRARY_PATH của tôi, điều này đã ngăn quá trình xây dựng python tìm thư viện openssl hệ thống.

vì vậy hãy cố gắng xóa chúng và xem điều gì sẽ xảy ra:

export PKG_CONFIG_PATH=""
export LD_LIBRARY_PATH=""

2
Điều này thực sự sẽ làm hỏng ngày của ai đó nếu họ có những thứ hữu ích trong các biến môi trường đó
matanster

-1

Được rồi, câu trả lời mới nhất cho vấn đề này, hiện tại không sử dụng Python 3.8 , chỉ sử dụng 3.7 hoặc ít hơn, vì hầu hết các thư viện không cài đặt được với lỗi trên


Theo như tôi biết python sử dụng các gói cơ bản của hệ điều hành. Những thứ như gcc, opensslzlib. Vì vậy, điều quan trọng là phải cài đặt các điều kiện tiên quyết này trước khi biên dịch python, đặc biệt là khi sử dụng trên linux.
stephen

@ surfer190 Tôi sử dụng windows, nhưng những gì bạn nói có thể đúng với cả hai, tôi đoán
Ujju
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.