Python2.7和3.5 Windows Ins

2024-04-19 09:20:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经安装了2.7和最新的3.5anaconda Python版本。在

2.7是我的旧版本,我今天刚安装了3.5版本。当我今天第一次安装3.5时,我从他们的网站上下载了.exe。我使用了Pycharm IDE,因此当我在那里更改解释器时,收到了以下错误消息:

Cannot set up a python SDK at c:\user\asd\Anaconda\...\python.exe
This SDK is invalid.

我试着把它加入到我的人生道路上,但这并没有解决我的问题。在

我尝试的第二种方法是卸载它并通过conda作为第二个环境进行安装。在

^{pr2}$

所有这些都起作用了,当我成功激活它时,我键入python,出现了一个错误:

Fatal Python Error: Py_Initializer: unable to load the file system codec
File "C:\User\asd\Anaconda\Lib\encodings\__init__.py", line 123
    raise CodecRegistryError,\

SyntaxError: Invalid syntax

Current Thread 0x00001bb8 <most recent call first>:

我完全不明白问题出在哪里,为什么我不能在安装了python2.7的情况下运行python3.5。在

谢谢

enter image description here


Tags: 版本消息网站错误sdkanacondaideexe
2条回答

不能对BlockingQueue进行排序,但可以对元素数组进行排序

你的Arrays.sort(queue.toArray())尝试几乎成功了。您只需要记住数组并打印它,而不是未排序的队列

Cars[] arr = queue.toArray(new Cars[queue.size()]);
Arrays.sort(arr);
System.out.println("Sorted elements:\n" + Arrays.toString(arr));

不相关的

您不应该使用原始通用Comparable。将其更改为Comparable<Cars>

此外,减去整数值以生成compare()值容易出错(数值溢出)。改用Integer.compare()

public class Cars implements Comparable<Cars> {

    // lots of code

    @Override
    public int compareTo(Cars other) {
        return Integer.compare(this.price, other.price);
    }
}

显然,对一个ArrayBlockingQueue进行排序是行不通的,因为这会违背它的FIFO设计。如果需要排序的Queue,那么应该使用PriorityQueue

相关问题 更多 >