2017-04-06 784 views
0

我对python很陌生,但我已经学会了基本知识,现在它主要是如何工作的。我一直在试图为服务器安装一个Django框架,以便它可以托管一个网页。如何将pip3的默认版本从python3.5更改为python3.6

基本上这里的问题是,当我运行,如命令:

python3 -V 

我得到的输出

Python 3.6.1 

但由于某些原因,使用PIP 3时,它决定使用PIP是特定于Python 3.5的版本,例如:

pip3 install Django==1.11 

在“/ usr/local/lib”中安装Django /python3.5/dist-packages“而不是dist-packages目录的Python 3.6版本。

根据蟒蛇单证(https://docs.python.org/3/installing/index.html?highlight=pip#work-with-multiple-versions-of-python-installed-in-parallel)我应该能够运行此命令:

python3.6 -m pip install SomePackage 

使用PIP是针对Python 3.6,但是这似乎并没有工作。我收到一个错误,提示“没有名为pip的模块”或“没有名为pip3的模块”。

我使用的Ubuntu 16.04

我感谢所有帮助在服务器上提前运行,谢谢! :)

编辑:我曾尝试运行

pip3 -V 

这给了我输出

pip 9.0.1 from /home/user/.local/lib/python3.5/site-packages (python 3.5) 

从这个我可以说,我在所有使用python3与Python 3.6没有问题,但当运行pip3时,它使用Python 3.5中的pip 9.0.1。还运行

sudo apt-get install python3-pip 

给我的输出

0 upgraded, 0 newly installed, 0 to remove and 98 not upgraded. 
+0

你能输入哪个python命令吗? – Eliethesaiyan

+0

试试这个:http://stackoverflow.com/questions/41588925/pip-install-django-on-python3-6 – manvi77

+0

@Eliethesaiyan使用任何python3命令都没有问题,python3 -V证明了这一点。但是,我有问题的是3.6的pip3。 – DarkCatapulter

回答

0

我曾经有过类似的问题。而且,我有以下整理出来:

  1. 首先安装PIP3在你的系统

    sudo apt-get install python3-pip 
    
  2. 创建您的virtualenv

    pip3 -p python3.6 virtualenv myenv 
    
  3. 然后将其激活后,你的virtualenv安装djangon 。

    pip3 install Django 
    

您可以指定Django的版本:

pip3 install Django==1.11 
+0

感谢您的回答,但出于某种原因使用 “sudo apt-get install python3-pip” 我得到0升级,0新安装,0删除和103未升级。 – DarkCatapulter

+0

你试过了吗: '''sudo apt-get remove --auto-remove python3-pip''' first and proceed the steps? –

+1

我尝试sudo删除,然后按照步骤。第1步用python3.5重新安装pip3,所以我最终回到了我的位置。我也尝试了第2步,但我收到了“没有这样的选项:-p” – DarkCatapulter

0

我完全忘了这个帖子,我只想说,点子是一个非常危险的工具,应谨慎,因为使用它会影响您的计算机/服务器的结构。我所做的解决我在此时创建的任何混乱情况是:

  1. 格式化服务器。

  2. 只能在virtualenv中使用pip/pip3。让virtualenvs如此可怕的是,如果出现问题,那么它只会在virtualenv内出错。你不需要格式化你的电脑/服务器,相反你可能需要删除这个virtualenv并创建一个新的。

  3. 不要在没有virtualenv的计算机/服务器上使用pip/pip3,我发现你甚至不需要将它安装在你的根目录下。使用pip的最佳方式是运行virtualenv,然后将其安装在virtualenv上。

希望这些提示有助于防止人们做出巨大但容易避免的错误! :D