2017-04-03 17 views
0

私はPython 3用のpycryptoモジュールをダウンロードしましたので、私はPythonコードでAESを使用できます。 (encodeUsingAES.pyというコードがある場合はEG)Python3は別のコンピュータにインストールされたモジュールを使用します

しかし、encodeUsingAES.pyを別のコンピュータにコピーして正しく実行した場合、これは機能しませんか? pycryptoモジュールがインストールされていないので、エラーのヒープがポップアップします。

pycrypto内の暗号化フォルダを.pyファイルと同じディレクトリにコピーしようとしましたが、動作しませんでした。

同じディレクトリに必要なすべてのファイルがあるので、圧縮して送信すると、受信者は余分なモジュールをインストールすることなく.pyファイルを実行できますか?

ありがとうございます!

from Crypto import Random 
from Crypto.Cipher import AES 

EDIT: は動作しませんでしたこれを試し

import sys 
sys.path.append("/pycrypto") 
from Crypto import Random 
from Crypto.Cipher import AES 

$ python3 testCrypto.py 
    Traceback (most recent call last): 
    File "testCrypto.py", line 5, in <module> 
    from Crypto import Random 
    ImportError: No module named 'Crypto' 

またはあなたが完全にフォルダをコピーする場合は、あなたがあなたのパスに追加する必要がありますインポートすることができるように

import sys 
sys.path.append("pycrypto/lib") 
from Crypto import Random 
from Crypto.Cipher import AES 

$ python3 testCrypto.py 
    Traceback (most recent call last): 
    File "testCrypto.py", line 5, in <module> 
     from Crypto import Random 
    File "pycrypto/lib/Crypto/Random/__init__.py", line 28, in <module> 
     from Crypto.Random import OSRNG 
    File "pycrypto/lib/Crypto/Random/OSRNG/__init__.py", line 32, in <module> 
     from Crypto.Random.OSRNG.posix import new 
    File "pycrypto/lib/Crypto/Random/OSRNG/posix.py", line 66 
     except IOError, e: 
+0

あなたはパス '/ pycrypto'を使用している場合、それはpycryptoがシステムのルートにフォルダであることを意味しています。 '/'を削除すると、ディレクトリはあなたの作業ディレクトリからの相対パスでなければなりません。 – PinkFluffyUnicorn

+0

@PinkFluffyUnicorn同じことは、暗号から でファイル "testCrypto.py"、5行目は、ランダム はImportErrorをインポートしない:という名前のモジュールを '暗号' – Friedpanseller

+0

http://stackoverflow.com/questions/9059699/python-use-aあなたが – PinkFluffyUnicorn

答えて

0

それ。

import sys 
sys.path.append("/path/to/your/crypto/directory") 

from Crypto import Random 

pycryptoフォルダがプロジェクトフォルダに直接配置されている場合は、次の文が機能するはずです。

sys.path.append('./pycrypto')

+0

を助けるべきであるが、Crypto.Randomの中のたくさんのファイルには "Crypto import Someotherthing"があり、正しいものが見つからないようにsys.path.appendはありません。ファイル? – Friedpanseller

+0

私はsys.pathがあなたのPythonセッションにリンクされていると思いますので、あなたのパスを変更したら、すべてのpythonファイルで見ることができます。あるいはこれに問題がありますか? – PinkFluffyUnicorn

+0

私はエラーで質問を更新しました – Friedpanseller

関連する問題