Python3在另一台计算机上使用已安装的模块

时间:2017-04-03 09:17:32

标签: python-3.x aes pycrypto

我已经下载了python 3的pycrypto模块,所以我可以在我的python代码中使用AES。 (如果我有一个名为encodeUsingAES.py的代码,则为EG)

但是,如果我只是将encodeUsingAES.py复制到另一台计算机并运行它,那么这不会起作用吗?因为它没有安装pycrypto模块,所以它会弹出很多错误。

我尝试将pycrypto中的Crypto文件夹复制到与我的.py文件相同的目录中,但它没有用。

我有没有在同一目录中拥有我需要的所有文件,所以当我压缩并发送文件夹时,收件人只需运行.py文件而无需安装额外的模块?

谢谢!

from Crypto import Random
from Crypto.Cipher import AES

编辑: 试过这个没工作

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:

1 个答案:

答案 0 :(得分:0)

如果您复制整个文件夹,则应将其添加到路径中以便能够导入它。

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

from Crypto import Random

如果pycrypto文件夹直接放在项目文件夹中,则以下语句应该有效。

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