2016-06-29 6 views
0

私はUbuntu VMとPython 2.7からweb2pyのソースバージョンを実行しています。私はSSHの機能のためParamikoライブラリを使用しようとしているが、次のコードは、このエラーを与える:混乱は何web2pyでモジュールを使用しているときにグローバル名 'paramiko'が定義されていません

コード

from paramiko import client

エラー

Traceback (most recent call last): 
    File "/home/localadmin/scanme/gluon/restricted.py", line 227, in restricted 
    exec ccode in environment 
    File "/home/localadmin/scanme/applications/nmap/controllers/default.py", line 418, in <module> 
    File "/home/localadmin/scanme/gluon/globals.py", line 417, in <lambda> 
    self._caller = lambda f: f() 
    File "/home/localadmin/scanme/applications/nmap/controllers/default.py", line 50, in login 
    except paramiko.ssh_exception.AuthenticationException: 
NameError: global name 'paramiko' is not defined 

私はweb2pyの外でPythonを実行すると、インポートし、paramikoライブラリを使用して私のシステムで完璧に動作します。

ソースバージョンを使用しているときに私のローカルPythonインストールで利用可能なすべてのモジュールがweb2pyで利用可能であると考えました。これは、私は、コマンドラインからWebサーバを立ち上げ方法です:

python2.7 web2py.py

誰もがこの問題を引き起こす可能性のあるものを知っていますか? web2pyで動作している他のモジュールと同じように、ライブラリをインストールした後、私のシステムに "paramiko"ディレクトリが見つかりませんでした。

答えて

1

あなたのimport文は次のとおりです。

from paramiko import client 

しかし、あなたのコードでは、あなたがしている:

except paramiko.ssh_exception.AuthenticationException 

paramikoを参照するために、あなたはそれをインポートする必要があります。

import paramiko 
+0

を私が試しましたそれでは、この行でエラーが発生します: 'session.connection = ssh(credentials.vars.host_address、credentials.vars.username、cre "** グローバル名 'ssh'が定義されていません**" –

+0

私は問題を理解しました。ローカルマシンからweb2pyにスクリプトをコピーしたときに、クラス「** ssh **」を定義した部分をコピーしていないことに気付きませんでした。ありがとう! –

関連する問題