bestsource

가져오기 오류: 이름이 암호화된 모듈이 없습니다.사이퍼

bestsource 2023. 7. 3. 23:02
반응형

가져오기 오류: 이름이 암호화된 모듈이 없습니다.사이퍼

.py을 실행하려고 하면 .app.py (Python 3.3, PyCrypto 2.6)에 나열된 를 계속 합니다. 나의수명는단지서세입니다.from Crypto.Cipher import AES중복 항목을 찾아봤는데 몇 가지가 있다고 할 수도 있지만, 대부분은 솔루션이 아니지만 솔루션을 시도해 보았지만 아무 것도 작동하지 않았습니다.

아래에서 PyCrypto의 파일 상태를 확인할 수 있습니다.

설치할 때 Mac에서도 동일한 문제가 발생했습니다.pip그런 다음 제거했습니다.pycrypto 습치니다시다▁it.easy_install다음과 같이:

pip uninstall pycrypto
easy_install pycrypto

루크가 말했듯이,이러한 명령을 실행하는 데 문제가 있으면 관리자(sudo)로 실행해야 합니다.

윙클러가 답변에서 언급했듯이, 피크립토는 더 이상 안전하지 않습니다.대신 피크립토돔을 사용하세요, 그것은 드롭인 대체품입니다.

: 사용 사용하지 crypto또는pycrypto 이상 ㅠㅠㅠㅠ!

페이지에서 읽을 수 있듯이 의 사용법은pycrypto 이상 안전하지 않습니다.

Pycrypto는 block_templace.c의 ALG 새 함수에서 힙 기반 버퍼 오버플로에 취약합니다.원격 공격자는 파이썬 응용 프로그램에서 임의 코드를 실행할 수 있습니다.CVE-2013-7459 번호가 할당되었습니다.

Pycrypto는 2014년 6월 20일 이후로 이 취약성에 대한 수정 사항을 발표하지 않았으며 프로젝트에 대한 약속도 하지 않았습니다.

2021-01-18 업데이트

CVE는 이제 고정되었습니다(그것을 지적해 주셔서 @Sumit Badsara!).각 패키지에 대한 열려 있는 보안 티켓의 현재 상태는 Debian 보안 추적기에서 확인할 수 있습니다.

Python3 하기 »pycryptodome대신에!

버전제합니다야의 모든 을 제거해야 .crypto그리고.pycrypto먼저합 설니다를 설치합니다.pycryptodome:

pip3 uninstall crypto 
pip3 uninstall pycrypto 
pip3 install pycryptodome

세는 모두되며 이름은 " 이세가패모이지설폴동다치니더됩에일한정된름두이키지는지▁all다,▁to"입니다.Crypto동일한 폴더 이름으로 다른 패키지를 설치하면 오류가 발생할 수 있습니다!

자세한 내용은 pycryptodome.org 을 참조하십시오.

모범 사례: 가상 환경

다 버 의 전 pip 키 예 는 한 에 폴 설 되 치 는 키 패 지 더 일 동 패 른 또 지 예 : 키 지 :pycrypto그리고.pycryptodome가상 환경을 사용할 수 있습니다.따라서 설치된 pip 패키지를 모든 프로젝트에 대해 개별적으로 관리할 수 있습니다.

가상 환경을 설치하고 모든 것을 설정하려면 다음 명령을 사용합니다.

# install python3 and pip3
sudo apt update
sudo apt upgrade
sudo apt install python3
sudo apt install python3-pip

# install virtualenv
pip3 install virtualenv

# install and create a virtual environment in your target folder
mkdir target_folder
cd target_folder
python3 -m virtualenv .

# now activate your venv and install pycryptodome
source bin/activate
pip3 install pycryptodome

# check if everything worked: 
# start the interactive python console and import the Crypto module
# when there is no import error then it worked
python
>>> from Crypto.Cipher import AES
>>> exit()

# don't forget to deactivate your venv again
deactivate

자세한 내용은 문서를 참조하십시오.python-guide.org .

저는 Mac에서도 이것을 마주쳤는데, 안타깝게도 비슷한 이름의 "crypto" 모듈(무엇을 위한 것인지는 잘 모르겠습니다)이 pip를 통해 pycrypto와 함께 설치된 것과 관련이 있는 것 같습니다.

이 수정 사항은 pip을 사용하여 암호화 및 파이크립토를 모두 제거하는 것으로 보입니다.

sudo pip uninstall crypto
sudo pip uninstall pycrypto

Pycrypto를 다시 설치합니다.

sudo pip install pycrypto

이제 다음과 같은 작업을 수행할 때 예상대로 작동합니다.

from Crypto.Cipher import AES

(리눅스에서도) 같은 문제가 있었습니다.솔루션은 매우 간단했습니다. 추가:

libraries:
- name: pycrypto
  version: "2.6"

나에게app.yaml파일. 과거에는 제대로 작동했기 때문에 새로운 요구 사항인 것 같습니다.

해결책을 찾았어요문제는 아마도 (Windows의) 대소문자를 구분하는 경우일 것입니다.

폴더 이름만 변경하면 됩니다.

C:\Python27\Lib\site-packages\crypto

대상:

C:\Python27\Lib\site-packages\Crypto

pycrypto를 설치한 후 폴더 이름을 지정하는 방법은 다음과 같습니다. enter image description here

다음으로 변경했습니다. enter image description here

이제 다음 코드가 제대로 작동합니다. enter image description here

맥에...만약 당신이 이것과 마주친다면..대신 암호화를 가져올 수 있는지 확인해 보시겠습니까?

입니다. 패키지 이름이 문제입니다.Cc이 상황을 모면하기 위해서는..이 행을 스크립트의 맨 위에 추가하면 됩니다.

import crypto
import sys
sys.modules['Crypto'] = crypto

파라미코를 성공적으로 가져올 수 있어야 합니다.

를 제거하는 입니다.crypto그리고.pycrypto저한테 효과가 있어요. 다음 런다설치만음그만 합니다.pycrypto:

pip uninstall crypto 
pip uninstall pycrypto 
pip install pycrypto

type 명령:

sudo pip install pycrypto

Mac OS에 있는 경우 lib 폴더의 이름을 변경합니다.

lib/python3.7/site-packages/crypto

대상:

lib/python3.7/site-packages/Crypto

문제를 .'ImportError: No module named Crypto.Cipher'OSX 10.8.5 (Mountain Lion)는 GAE의 구글 앱 엔진 런처(Google AppEngineLauncher > 1.8.X)입니다.python 2.7 버전 Google App Engine SDK 버전 pyCrypto 2.6 버전.제게 효과가 있었던 해결책은...

pycrypto 2.6 소스 다운로드 어딘가에서 추출(~/Downloads/pycrypto26)

예: gitclone https://github.com/dlitz/pycrypto.git

2)cd(cd ~/Downloads/pycrypto26그 다음 ) 그때

이전 폴더에서 다음 터미널 명령을 실행하여 GAE 폴더에 pyCrypto 2.6을 수동으로 설치합니다.

sudo python setup.py install --install-lib /Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine

터미널 화면에서 다음 코드를 실행합니다.

pip uninstall crypto
pip uninstall pycryptodome
pip install pycryptodome

RedHat 또는 Fedora 또는 CentOS와 같은 RedHat 기반 배포자를 사용하는 경우 다음 명령을 사용하여 설치할 수 있습니다.

sudo yum install pycrypto

저의 경우, 다음을 사용하여 설치할 수 없었습니다.pip.

만약 당신이 이 모듈을 Python3와 함께 사용하고 있고 가져오기에 문제가 있다면, 이것을 시도해 보세요.

pip uninstall crypto
pip uninstall pycryptodome
pip install pycryptodome

행운을 빕니다.

한 후에pycrypto또는pycryptodome해야 합니다.cryptoCryptolib/site-packages

언급

pip을 통해 설치된 python 모듈을 로드하는 문제일 수 있습니다.답변을 참조하십시오. 사이트 패키지 디렉터리에서 pip을 통해 설치된 Python 모듈을 로드할 수 없습니다. 다음과 같은 방법을 시도하십시오.

python -m pip install pycrypto

나를 위해 일했습니다(Ubuntu 17.10).

venv를 제거하고 python v3.6으로 다시 만들기

pip3 install PyJWT
sudo apt-get install build-essential libgmp3-dev python3-dev
pip3 install cryptography
pip3 install pycryptodome
pip3 install pycryptodomex

파이크립토는 더 이상 사용되지 않고, 문제가 있었고, 파이크립토돔을 사용했습니다.

이것은 나에게 효과가 있었습니다.

pip install pycryptodome==3.4.3

Crypto를 설치한 후에도 아래 오류가 발생했습니다.

python my_script.py
Traceback (most recent call last):
  File "D:\gitworkspace\cloudtools\py\my_script.py", line 19, in <module>
    from Crypto.Cipher import AES
ModuleNotFoundError: No module named 'Crypto'

그리고 이 게시물에서 문제를 해결한 명령어를 찾았습니다.

pip install pycryptodome

나는 첫 번째 글자를 대문자로 바꿔서 이 문제를 해결합니다.Crypto에서 ''을(를) 확인합니다.암호화에서 "가 아닌 암호 가져오기 AES"입니다.암호 가져오기 AES'.

pip3를 사용해 보십시오.

sudo pip3 install pycrypto

CentOS 7.4의 경우 먼저 pip을 설치한 다음 pip을 사용하여 pip을 설치했습니다.

> sudo yum -y install python-pip 
> sudo python -m pip install pycrypto

현재까지 가져올 때 동일한 문제가 발생하고 있습니다.from Crypto.Cipher import AESPycrypto를 몇 번 설치/재설치한 경우에도 사용할 수 있습니다.결국 pip이 python3으로 기본 설정되었기 때문입니다.

~ pip --version
pip 18.0 from /usr/local/lib/python3.7/site-packages/pip (python 3.7)

pip2와 함께 pycrypto를 설치하면 이 문제가 해결될 것입니다.

crypto 및 pycrypto제거한 후에도 이 문제가 발생할 경우 한 번 더 알림

pip3 uninstall crypto
pip3 uninstall pycrypto

/usr/local/lib/python3.9/site-packages 아래 사이트 패키지에 crypto(소문자)라는 디렉터리가 있는지 확인하고, 사용한 python 버전과 올바른 사이트 패키지 경로를 확인한 다음, crypto 디렉터리를 제거하고 다시 설치를 시도하십시오.

Windows 7의 경우:

"모듈 오류 Crypo"라는 오류가 발생했습니다.암호 가져오기 AES"

Windows에 Pycrypto를 설치하려면,

명령 프롬프트에서 이 작업을 시도합니다.

경로=C 설정:\Python27\스크립트(즉, easy_install이 있는 경로)

그런 다음 다음을 실행합니다.

easy_install pycrypto

Ubuntu의 경우:

이거 해봐요.

"https://pypi.python.org/pypi/pycrypto "에서 Pycrypto를 다운로드합니다.

그런 다음 터미널을 사용하여 현재 경로를 다운로드된 경로로 변경합니다.

예: root@xyz-virtual-machine: ~/pycrypto-2.6.1#

그런 다음 터미널을 사용하여 다음을 실행합니다.

python setup.py 설치

저한테는 효과가 있어요.희망은 모두에게 효과가 있습니다.

이 문제는 C++ 컴파일러(python27 또는 python26)를 설치하여 해결할 수 있습니다.Microsoft https://www.microsoft.com/en-us/download/details.aspx?id=44266 에서 다운로드한 후 다음 명령을 다시 실행합니다.pip install pycrypto 종때웹 GUI 실다니행 할 때 웹 합니다.easy_install.exe.

기존 .pycrypto/pycryptodome-3.11.0위치:

..\Python\Python310\Lib\site-packages

그런 다음 실행:

pip install pycryptodome

아마도 당신은 이것을 당신의 것에 추가해야 할 것입니다.requirements.txt파일 이름:

pycryptodome==3.6.1

그런 다음 다음을 사용하여 모든 종속성을 설치합니다.

pip install -r requirements.txt

이렇게 하면 오류 보고서가 제거됩니다.저한테 효과가 있었어요!

저는 Python 3.7을 사용합니다.설치를 .crypto.

그리고.pycrypto제 경우에는 실패합니다.그래서 결국 제 빌드는 다음 패키지를 사용하여 통과했습니다.

pip install pycryptodome

나는 유사한 문제가 있었고 다음 명령으로 그것을 고쳤습니다.

sudo pip3 install py

이것이 누군가에게 도움이 될지는 모르겠지만, 실행하려고 했던 것과 똑같은 문제가 있었습니다.samrdumpKali Linux().

많은 작업 후에 (나는 여기 레포에서 비슷한 문제를 확인했습니다.)저는 (python이 python2를 사용하기 때문에) python 대신 python3를 입력하면 다음과 같은 문제가 해결된다는 것을 발견했습니다.

sudo python3 samrdump.py
sudo python3 smbclient.py

언급URL : https://stackoverflow.com/questions/19623267/importerror-no-module-named-crypto-cipher

반응형