최근에 paramiko 코드를 실행하려고했지만 코드는 기본 ssh 포트를 만들고 코드는 다른 컴퓨터에서 사용할 수 있습니다. 그러나 paramiko를 설치하고 내 컴퓨터에서 코드를 실행하면 작동하지 않습니다. 코드가 동일한 지 다시 확인했습니다. 컴파일 할 때 다음 나는 오류를 확인, 그것은 말한다 :paramiko 패키지 1.4.1에서 설치 오류가 발생했습니다.
import paramiko
File "/Library/Python/2.7/site-packages/paramiko/__init__.py", line 30, in <module>
from paramiko.transport import SecurityOptions, Transport
File "/Library/Python/2.7/site-packages/paramiko/transport.py", line 33, in <module>
from cryptography.hazmat.backends import default_backend
File "/Library/Python/2.7/site-packages/cryptography/hazmat/backends/__init__.py", line 7, in <module>
import pkg_resources
File "/Library/Python/2.7/site-packages/pkg_resources/__init__.py", line 72, in <module>
import packaging.requirements
File "/Library/Python/2.7/site-packages/packaging/requirements.py", line 59, in <module>
MARKER_EXPR = originalTextFor(MARKER_EXPR())("marker")
TypeError: __call__() takes exactly 2 arguments (1 given)
내가 답을 온라인에서 탐색했습니다과 내가 가질 수있는 가능한 문제는 내가 암호화 1.4.1 패키지를 필요가 없다는 것입니다 말했다. 따라서 pip를 사용하여 패키지를 설치하고 어떤 이유로 프로그램을 실행하는 것과 동일한 오류가 발생했습니다.
pip install crypto
Collecting crypto
Using cached crypto-1.4.1-py2.py3-none-any.whl
Collecting shellescape (from crypto)
Using cached shellescape-3.4.1-py2.py3-none-any.whl
Collecting Naked (from crypto)
Using cached Naked-0.1.31-py2.py3-none-any.whl
Collecting requests (from Naked->crypto)
Using cached requests-2.13.0-py2.py3-none-any.whl
Collecting pyyaml (from Naked->crypto)
Using cached PyYAML-3.12.tar.gz
Exception:
Traceback (most recent call last):
File "/Library/Python/2.7/site-packages/pip/basecommand.py", line 215, in main
status = self.run(options, args)
File "/Library/Python/2.7/site-packages/pip/commands/install.py", line 335, in run
wb.build(autobuilding=True)
File "/Library/Python/2.7/site-packages/pip/wheel.py", line 749, in build
self.requirement_set.prepare_files(self.finder)
File "/Library/Python/2.7/site-packages/pip/req/req_set.py", line 380, in prepare_files
ignore_dependencies=self.ignore_dependencies))
File "/Library/Python/2.7/site-packages/pip/req/req_set.py", line 634, in _prepare_file
abstract_dist.prep_for_dist()
File "/Library/Python/2.7/site-packages/pip/req/req_set.py", line 129, in prep_for_dist
self.req_to_install.run_egg_info()
File "/Library/Python/2.7/site-packages/pip/req/req_install.py", line 412, in run_egg_info
self.setup_py, self.name,
File "/Library/Python/2.7/site-packages/pip/req/req_install.py", line 387, in setup_py
import setuptools # noqa
File "/Library/Python/2.7/site-packages/setuptools/__init__.py", line 12, in <module>
import setuptools.version
File "/Library/Python/2.7/site-packages/setuptools/version.py", line 1, in <module>
import pkg_resources
File "/Library/Python/2.7/site-packages/pkg_resources/__init__.py", line 72, in <module>
import packaging.requirements
File "/Library/Python/2.7/site-packages/packaging/requirements.py", line 59, in <module>
MARKER_EXPR = originalTextFor(MARKER_EXPR())("marker")
TypeError: __call__() takes exactly 2 arguments (1 given)
그렇다면 내 컴퓨터에서 어떤 일이 벌어지고 있는지 알 수 있습니까? 암호를 설치하기 전에 설치해야하는 다른 패키지가 있습니까?
나는 현재 맥 OS Y 요세미티를 사용하고 있는데 내 핍이 업그레이드됩니다.
************************* 갱신 ******************** *********
이 원래 코드 :
import threading
import paramiko
import subprocess
def ssh_command(ip,user,passwd,command):
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(ip,username = user, password = passwd)
ssh_session = client.get_transport().open_session()
if ssh_session.active:
ssh_session.exec_command(command)
print ssh_session.recv(1024)
return
ssh_command('192.168.100.301','GLZ','TripleBody','id')
희망이 도움이됩니다!
또한 버전 문제에 대해서는 pycrypto (버전 2.6.1)를 설치하기 위해 pip를 사용해 보았는데 동일한 오류가 발생합니다. 사전에 큰 도움과 인내, 피터
최신 버전의 암호화를 설치해 보셨습니까? 당신은 또한 코드를 제공 할 수 2.6.1 – haifzhan
입니까? – progNewbie
난 그냥 문제를 편집 희망이 내 대답은 당신이 나에게 upvote에주는 줄래 도움이된다면 ~ – PetaGlz