Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/307.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
python:用户站点中的包不覆盖ubuntu上的dist包_Python_Ubuntu_Path_Installation_Packages - Fatal编程技术网

python:用户站点中的包不覆盖ubuntu上的dist包

python:用户站点中的包不覆盖ubuntu上的dist包,python,ubuntu,path,installation,packages,Python,Ubuntu,Path,Installation,Packages,我使用ubuntu 13.04。在用python开发时,我有时希望使用比ubuntu附带的包更新的版本。在这些情况下,我使用的方法是仅将软件包安装到我的用户帐户,例如(对于软件包six): 这将在我的主目录中的某个位置正确安装最新版本(1.4.1)。但是,当我加载刚安装的包时,python会选择系统范围内安装的版本: $ python -c "import six; print six; print six.__version__"

我使用ubuntu 13.04。在用python开发时,我有时希望使用比ubuntu附带的包更新的版本。在这些情况下,我使用的方法是仅将软件包安装到我的用户帐户,例如(对于软件包
six
):

这将在我的主目录中的某个位置正确安装最新版本(1.4.1)。但是,当我加载刚安装的包时,python会选择系统范围内安装的版本:

$ python -c "import six; print six; print six.__version__"                                                     
<module 'six' from '/usr/lib/python2.7/dist-packages/six.pyc'>
1.2.0
/usr/lib/python2.7/dist软件包出现在与用户相关的任何内容之前,这可能是问题的原因


有人知道有什么好方法可以让用户在ubuntu上优先安装软件包而不是系统范围的软件包吗?

在用户软件包之前安装dist软件包是有意义的。但无论如何,你有两个选择,一个是坏的,一个是对的

错误的做法是重新定义PYTHONPATH环境变量,将本地包的dir放在站点范围的包之前。就这么简单,但是当你的系统崩溃时不要抱怨,因为你用一些不兼容的版本跟踪了一个关键的包

在不破坏任何东西的情况下尝试特定版本的软件包的正确方法当然是使用virtualenv

$ python -c "import six; print six; print six.__version__"                                                     
<module 'six' from '/usr/lib/python2.7/dist-packages/six.pyc'>
1.2.0
$ python -c "import sys; print sys.path"                                                                       
['', '/home/jostein/.local/lib/python2.7/site-packages/enaml-0.5.1-py2.7.egg', '/usr/lib/python2.7/dist-packages', '/home/jostein/Programming/scikit-image', '/home/jostein/Programming/reconstruct', '/home/jostein/Programming/ptychography', '/home/jostein/Programming', '/home/jostein', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/home/jostein/.local/lib/python2.7/site-packages', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages/PILcompat', '/usr/lib/python2.7/dist-packages/gst-0.10', '/usr/lib/python2.7/dist-packages/gtk-2.0', '/usr/lib/pymodules/python2.7', '/usr/lib/python2.7/dist-packages/ubuntu-sso-client', '/usr/lib/python2.7/dist-packages/ubuntuone-client', '/usr/lib/python2.7/dist-packages/ubuntuone-control-panel', '/usr/lib/python2.7/dist-packages/ubuntuone-couch', '/usr/lib/python2.7/dist-packages/ubuntuone-storage-protocol', '/usr/lib/python2.7/dist-packages/wx-2.8-gtk2-unicode']