如何在我当前的mac(而不是2.6)python2.7安装中创建pip安装python模块?

时间:2013-04-24 17:45:33

标签: python macos pip macports

我有一个使用macports安装python的mac。我喜欢这种方式,因为我可以手动安装numpy,scipy等,而不需要像enthought那样搞乱预先构建的软件包。我现在想安装web.py,但在尝试通过easy_install和pip安装后,我无法在交互式python命令行中导入它。 安装时,它还说:安装/Library/Python/2.6/site-packages/web.py-0.37-py2.6.egg,当我输入'python'时它会显示以下内容:Python 2.7.3(默认情况下, 2012年10月22日,06:12:28)[达尔文的GCC 4.2.1(Apple Inc. build 5666)(第3点)]

当我输入'which python'时,我得到:/ opt / local / bin / python

所以我的问题是:如何在python安装中创建easy_install和/或pip安装模块,当我在命令行输入'python'时输入?

2 个答案:

答案 0 :(得分:2)

如果您使用macports进行python,那么您也应该通过macports安装pip和easy_install。你似乎有一条非macports pipon你的道路。

安装py27-pip将为您提供路径上的pip-2.7可执行脚本,类似于easy_install。

macports版本的名称中包含python版本,以便允许安装多个版本的python。如果你只想要pip,那么创建一个bash别名,或者将pip-2.7脚本链接到你路径上的一个目录中。

答案 1 :(得分:0)

我也在我的Mac上进行Django开发,但是找到了一个更好的解决方案(允许轻松使用pip)来使用Vagrant + VirtualBox + Chef在本地VM中安装Django(这将允许您复制生产服务器设置)。然后,您可以在本地浏览器上访问它。这里有一个非常好的介绍:

http://blog.smalleycreative.com/tutorials/setup-a-django-vm-with-vagrant-virtualbox-and-chef/

我已经更新了教程提供的vagrantfile,以使用exact32(与可能在32位系统上的人保持兼容),更新的Ubuntu版本,并包括emacs,python和MySQL客户端。我希望这会有所帮助。

需要额外的git repos:

git clone git://github.com/opscode-cookbooks/emacs
git clone git://github.com/opscode-cookbooks/python
git clone git://github.com/opscode-cookbooks/mysql

Vagrantfile:

Vagrant::Config.run do |config|
  config.vm.define :djangovm do |django_config|
    # Every Vagrant virtual environment requires a box to build off of.
    django_config.vm.box = "precise32"

    # The url from where the 'config.vm.box' box will be fetched if it
    # doesn't already exist on the user's system.
    django_config.vm.box_url = "http://files.vagrantup.com/precise32.box"

    # Forward a port from the guest to the host, which allows for outside
    # computers to access the VM, whereas host only networking does not.
    django_config.vm.forward_port 80, 8080
    django_config.vm.forward_port 8000, 8001

    # Enable provisioning with chef solo, specifying a cookbooks path (relative
    # to this Vagrantfile), and adding some recipes and/or roles.
    #
    django_config.vm.provision :chef_solo do |chef|
      chef.cookbooks_path = "cookbooks"
      chef.add_recipe "apt"
      chef.add_recipe "apache2::mod_wsgi"
      chef.add_recipe "build-essential"
      chef.add_recipe "git"
      chef.add_recipe "vim"
      chef.add_recipe "emacs"
      chef.add_recipe "python"
      chef.add_recipe "mysql"
    #
    #   # You may also specify custom JSON attributes:
    #   chef.json = { :mysql_password => "foo" }
    end
  end
end