Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
pycrypto在python2.7上工作,而不是在python3.6上工作_Python_Python 3.x_Python 2.7_Python 3.6_Pycrypto - Fatal编程技术网

pycrypto在python2.7上工作,而不是在python3.6上工作

pycrypto在python2.7上工作,而不是在python3.6上工作,python,python-3.x,python-2.7,python-3.6,pycrypto,Python,Python 3.x,Python 2.7,Python 3.6,Pycrypto,我使用的是Ubuntu 16机器。我想使用python 3。我不喜欢它。但是,我必须使用命令python3,否则它将运行python2.7 我使用pip安装pycrypto安装了pycrypto库,但当我尝试使用python3从pycrypto导入时,我收到以下错误: >>> from Crypto.Cipher import AES Traceback (most recent call last): File "<stdin>", line 1, in &l

我使用的是Ubuntu 16机器。我想使用python 3。我不喜欢它。但是,我必须使用命令
python3
,否则它将运行
python2.7

我使用
pip安装pycrypto
安装了
pycrypto
库,但当我尝试使用
python3
pycrypto
导入时,我收到以下错误:

>>> from Crypto.Cipher import AES
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named 'Crypto'

当您使用python3时:

pip3 install pycrypto
显然,您已经安装了2个Python3实例:

  • 蟒蛇3.6:
    • 你想用哪个
    • 安装pycrypto的位置(由pip3提供)
  • 蟒蛇3.5.2:
    • 由python3命令启动
  • 因此,您启动了错误的Python解释器,很可能是因为python3指向/usr/bin/python3(您可以通过在shell中键入
    哪个python3
    来检查),哪个python3.5.2,哪个路径在${path}env变量中

    从pip路径来看,Python3.6似乎安装在/usr/local下(可执行文件是/usr/local/bin/Python3),因此您可以:

    • 按其完整路径启动Python3可执行文件(/usr/local/bin/Python3,如上所述)
    • 在/usr/bin之前将/usr/local/bin添加到${PATH},然后在shell中键入
      Python3
      ,启动Python3.6-,但我建议不要这样做
    • 还有其他方法(例如创建别名),但我想你已经想到了
    @EDIT0

    评论中要求的更多信息。这与Python无关,都是Ubtu的东西:

    • 列出包装:使用apt或dpkg
    • 检查Python2.7(或任何其他版本):使用哪个(如上所述)
    • 您不需要卸载Python3.5。多个版本可以安全共存
    • 如果要将其设置为默认值,请创建一个别名(就像我在下面示例的末尾所做的那样),如果要将其保持不变,请将其放置在配置文件中(例如,.profile、.bashrc、.bash_profile)
    示例(在我的虚拟机上):


    pip3安装pycrypto
    ?@CristiFati您能检查我的更新吗?我如何删除python3.5.2?以及如何将python3.6.5设为默认值?python2.7的路径是什么,以防我需要它?
    pip3 install pycrypto
    
    [cfati@cfati-ubtu16x64-0:~/Work/Dev/StackOverflow/q050526408]> apt list python python3
    Listing... Done
    python/xenial-updates,now 2.7.12-1~16.04 amd64 [installed]
    python3/xenial,now 3.5.1-3 amd64 [installed]
    [cfati@cfati-ubtu16x64-0:~/Work/Dev/StackOverflow/q050526408]> which python
    /usr/bin/python
    [cfati@cfati-ubtu16x64-0:~/Work/Dev/StackOverflow/q050526408]> ll /usr/bin/python
    lrwxrwxrwx 1 root root 7 mar 12 16:25 /usr/bin/python -> python2*
    [cfati@cfati-ubtu16x64-0:~/Work/Dev/StackOverflow/q050526408]> dpkg -S /usr/bin/python3 /usr/bin/python2
    python3-minimal: /usr/bin/python3
    python-minimal: /usr/bin/python2
    [cfati@cfati-ubtu16x64-0:~/Work/Dev/StackOverflow/q050526408]> alias python3=/usr/local/bin/python3