问题
我似乎无法将我的包安装到正确的站点包目录。在
背景
我想升级到python3.3,但是我发现我仍然需要python2.6才能使用yum(它没有为python3配置)。所以我的系统里都有。在
为每个版本单独安装pip和简易安装???
问题是当我下载一个包并运行“python”时设置.pyinstall“我发现它安装在python2.6中。我试过使用pip和easy-tu安装,但它们都是一样的。我读到过一个解决方案是使用不同版本的pip(pip_2.6和pip_3.3)。但是我找不到一种方法来下载单独的版本。一种解决方法是在pip中使用“-d PathToSitePackages”参数,但这并不优雅。在
其他未使用更新版本的程序
另一个问题是,我发现当我使用sphinx之类的系统时,它们使用的是旧版本的python。我似乎不知道如何让他们使用较新版本的python。在
首先,Python被显式地设计为在X中同时拥有pythonx.Y和pythonv.W!=V.PEP 394解释了细节,但基本上,
python3
总是意味着3.x版本,如果python
也意味着3.x版本,python2
将意味着2.x版本。对于所有行为良好的紧密集成脚本,如pip
或ipython
,也应如此。在这是一件好事,因为许多POSIX平台(大多数linux发行版、OS X等)都包含依赖于Python某个特定版本的代码,因此您必须能够拥有该版本,但通常您需要为自己的代码提供更新的版本。在
在大多数平台上,即使X==V,只要Y!=W,因为默认安装也会为您提供pythonX.Y,并对其进行设置,因此行为良好的脚本也会执行相同的操作。这一部分并不是由PEP授权的,所以一些linux发行版不会这样做,或者以不同的方式来做。但幸运的是,你只需要2.6和3.3,所以你不必担心这部分。在
因此,如果您使用pythonx.Y以任何正常方式安装}。所以,你不需要做任何事情来得到这个。在
pip
,那么您将在pythonx.Y的站点包中获得一些新的包,可能是一个名为pip-X.Y
(注意它是连字符,而不是下划线)的脚本,并且通常是该脚本的符号链接pip
和/或{尤其是测试这个序列(系统范围内安装的documentation推荐的方式):
……我就这样结束了。在
如果您没有,您将不得不向我们提供关于您的平台的详细信息,您如何安装每个Python(大概2.6是系统安装的一部分,但不是3.3),以及如何安装每个
pip
。在如果您改为使用}(对于3.3),而不是}和符号链接{}和{}。查看various distros' packages的RPM内容,看起来像是红帽系统的标准名称是}的符号链接,有时还有其他名称。在
sudo yum install python-pip
和sudo yum install python33-pip
(或python3-pip
),那么您得到的将完全取决于发行版,因此您可能最终只得到pip
(对于2.6)和{pip-2.6
和{python3-pip
,带有{总之,除非你混合和匹配不同的方法,否则你几乎肯定会得到一些方法来区分这两个版本。在
如果最坏的情况是最坏的,并且您只得到了一个名为
pip
的脚本,并且无论您最后安装的是哪个脚本,您都可以始终安装第一个脚本,cp pip pip-2.6
,安装第二个,然后mv pip pip-3.3; ln -s pip-2.6 pip; ln -s pip-3.3 pip3
。在或者,如果你连这都做不到的话,这个脚本就是微不足道的,比如:
^{pr2}$你只需制作一个拷贝,s/3.3/2.6/g就可以了(如果你在不同的站点包中安装了不同版本的
pip
,你可能还需要替换1.2.1),它就可以工作了。在但它真的,真的不应该变成这样。setuptools和pip都尊重pep394,任何不需要一些规则或其python3包的包管理器都是无用的。所以,如果你认为这些技巧是必要的,那么你可能之前做错了什么。在
相关问题 更多 >
编程相关推荐