0

Python 3.2 をコンパイルし、以下のスクリプトを実行しようとしました。

#/opt/python3/bin/python3
import sys
sys.path.append('/usr/lib/python2.4/site-packages')
print(sys.path)
import os
import paramiko

出力は次のとおりです。

['/home/web.script/scripts/radar_python', '/opt/python3/lib/python32.zip', '/opt/python3/lib/python3.2', '/opt/python3/lib/python3.2/plat-linux2', '/opt/python3/lib/python3.2/lib-dynload', '/opt/python3/lib/python3.2/site-packages', '/usr/lib/python2.4/site-packages']
Traceback (most recent call last):
  File "./check_log_radar2.py", line 6, in <module>
    import paramiko
ImportError: No module named paramiko

ls コマンドはこれを示します:

ls /usr/lib/python2.4/site-packages

Alacarte
cracklibmodule.so
dogtail
easy-install.pth
easy_install.py
easy_install.pyc
easy_install.pyo
elementtree
GMenuSimpleEditor
gmenu.so
iniparse
invest
libsvn
paramiko-1.7.5-py2.4.egg
paramiko-1.7.7.2-py2.4.egg
pirut
pkg_resources.py
pkg_resources.pyc
pkg_resources.pyo
pycrypto-2.6-py2.4-linux-x86_64.egg
rpmUtils
setroubleshoot
setuptools
setuptools-0.6c5-py2.4.egg-info
site.py
site.pyc
site.pyo
sos
svn
urlgrabber
yum

paramiko モジュールがパス上にある場合にエラーが発生するのはなぜですか?

4

3 に答える 3

0

lsPython2.4のインストールを示していますが、スクリプトは3を実行しています。Python3サイトパッケージには何が含まれていますか?

于 2012-07-19T21:20:51.030 に答える
0

パスに paramiko モジュールがなく、パスに paramiko 卵があります!setuptools は卵へのアクセスを許可する魔法を作成しますが、それは実際にインストールされている python でのみ機能します。これを機能させたい場合モジュールを含む卵のパスをsys.pathに追加する必要があります。しかし、明らかに paramiko を pyton3 にインストールするか、virtualenv を使用する方が良いでしょう。

于 2012-07-16T14:33:20.243 に答える
0

簡単に言うと、Python は python パス ディレクトリを検索して、__init__.pyファイルが含まれる paramiko という名前のディレクトリ、またはファイルを探しparamiko.pyます。どちらも存在しません。

まだまだあります。こちらをご覧くださいhttp://docs.python.org/tutorial/modules.html

さらに、次の (非公開の) 質問をご覧ください: Is Paramiko going to be port over Python 3.x?

このスレッドだけでなくhttps://github.com/paramiko/paramiko/issues/16

于 2012-07-16T14:31:07.873 に答える