0
コマンドラインから管理者としてプログラムを実行しようとしています。かなり簡単だが、私は苦労している。コマンドラインから管理者としてPythonプログラムを実行
私は細かいPythonのIDLEから起動働く、これで開始:
import dropbox, pymysql, shlex, shutil, subprocess
import logging
import sshtunnel
from sshtunnel import SSHTunnelForwarder
# Main program starts here
print("Hello World!")
が、以下のように、それはエラーを与えた:
[email protected]:~ $ sudo python /home/pi/Documents/iot_pm2/iot.py
Traceback (most recent call last):
File "/home/pi/Documents/iot_pm2/iot.py", line 3, in <module>
import dropbox, pymysql, shlex, shutil, subprocess
ImportError: No module named pymysql
私が先頭に2つの行を追加して、いくつかのグーグル後:
これはPython IDLEでも問題なく動作しますが、コマンドラインから実行してください...私はトレースを読む方法を理解する上で十分ではなく、したがって私がそれを修正するために何ができるのか理解できません。 (さらに、なぜIDLEから非管理者として動作するのか、管理者としてはコマンドラインからではないのか分かりません)誰も助けることができますか?
[email protected]:~ $ sudo python /home/pi/Documents/iot_pm2/iot.py
Traceback (most recent call last):
File "/home/pi/Documents/iot_pm2/iot.py", line 5, in <module>
import sshtunnel
File "/usr/local/lib/python3.4/dist-packages/sshtunnel.py", line 25, in <module>
import paramiko
File "/usr/local/lib/python3.4/dist-packages/paramiko/__init__.py", line 30, in <module>
from paramiko.transport import SecurityOptions, Transport
File "/usr/local/lib/python3.4/dist-packages/paramiko/transport.py", line 50, in <module>
from paramiko.dsskey import DSSKey
File "/usr/local/lib/python3.4/dist-packages/paramiko/dsskey.py", line 26, in <module>
from Crypto.PublicKey import DSA
File "/usr/local/lib/python3.4/dist-packages/Crypto/PublicKey/DSA.py", line 89, in <module>
from Crypto import Random
File "/usr/local/lib/python3.4/dist-packages/Crypto/Random/__init__.py", line 29, in <module>
from Crypto.Random import _UserFriendlyRNG
File "/usr/local/lib/python3.4/dist-packages/Crypto/Random/_UserFriendlyRNG.py", line 38, in <module>
from Crypto.Random.Fortuna import FortunaAccumulator
File "/usr/local/lib/python3.4/dist-packages/Crypto/Random/Fortuna/FortunaAccumulator.py", line 39, in <module>
from . import FortunaGenerator
File "/usr/local/lib/python3.4/dist-packages/Crypto/Random/Fortuna/FortunaGenerator.py", line 35, in <module>
from Crypto.Util import Counter
File "/usr/local/lib/python3.4/dist-packages/Crypto/Util/Counter.py", line 59, in <module>
from Crypto.Util import _counter
ImportError: cannot import name _counter
ありがとうございました。
は、Pythonのデフォルトは3ですか? sudo python3 ... –
コマンドラインから実行しているPythonが、使用しているPython IDLEとは異なるバージョンのPythonを使用している可能性はありますか? –
Telecが 'which python'であなたのpythonのバージョンで述べたようにチェックすることができます。しかし、最後の行には、ImportErrorがあることが示されています。 _counter関数を既に定義した別のパッケージがあるかもしれません。 – maxie