2017-02-17 91 views
0

使用基於Debian的Linux發行版(Kali)進行Python編程(請注意,我對Linux非常陌生,少於2個月)。通過apt-get install安裝Python和GitKraken。Linux Terminal ./code.py使用Python 2.7.13進行操作,而IDLE使用Python 3.5.3

開始使用3.5.3 IDLE快樂編碼,但是當我嘗試使用pip命令來安裝模塊(所有這些都是root用戶)時,我發現它安裝到/usr/local/lib/python2.7/dist-packages而不是Python 3.5.3位置( /usr/local/lib/python3.5/dist-packages)。

當我使用pip install module時,它將所有模塊安裝到2.7位置。由於終端默認使用了2.7(無論出於何種原因),使用./code.py總是使用Python 2.7運行代碼,但我爲Python 3.5編寫了代碼(不是模塊的安裝版本)。

我在這個網站上看到類似問題的一些其他答案,您必須安裝新模塊並更改PYTHONPATH變量並指定別名,但它弄亂了更多的東西。現在echo $PYTHONPATH不會返回任何內容,並且pip仍會安裝到Python 2.7位置。

我用apt-get來安裝python-pip3,我使用pip3命令來安裝模塊,但每當我使用./code.py(我的主要方法來運行代碼),它仍然使用Python 2.7。我該如何改變這一點?

+0

如果你有'pip3',那麼試試'python3 code.py'來運行 –

回答

1

編輯家當在code.py第一行指向你的Python 3.5二進制文件,例如:

#!/usr/bin/env python3 

或者,如果它不爲python3圖鏈接的是你的Python 3.5二進制文件並使用它。

+0

最初有'#!/ usr/bin/python',最後必須添加一個3.5。現在(帶有'pip'和'python'的別名),一切運行良好。 – JoshuaS3

+0

在回答中使用env是更好的選擇,因爲它更便於攜帶 - env的安裝位置在unix系統和linux發行版中都很好地標準化,python的位置(和確切的子版本)不是。 '/ usr/bin/env python3'更有可能在另一個系統上工作,而不是在/ usr/bin/python3.5中。即使其他系統在路徑中有'python3',它可能位於'/ bin'或'/ usr/local/bin'中,它可能是'python3.6'或其他名稱等。 – zstewart