在Ubuntu Linux机器上安装第三方Python模块?

Jay*_*Jay 9 python module

我猜我的问题非常基本,但在Google和YouTube上15-20分钟之后,我仍然有点模糊.我对Linux和Python都比较陌生,所以我很难理解文件系统树(来自Windows).

从我发现挖掘Ubuntu中的目录(我相信,我在VBox中运行的版本12.04),我已经识别了以下两个与Python相关的目录:

  1. /usr/local/lib/python2.7 其中包含这两个子目录:

    dist-packages
    site-packages

    当我输入"ls"来获取其中的文件列表时,两者都没有显示任何内容,但是当我输入"ls -a"时显示"...".

  2. /usr/lib/python2.7它没有site-packages目录,但有一个dist-packages包含许多文件和子目录的目录.

所以,如果我想安装一个第三方Python模块,比如说,Mechanize,其中一个上面的目录(以及哪个子目录),我应该安装它吗?

此外,即使我知道在哪里安装,我也不清楚要采取的步骤; 到目前为止,我有以下计划:

  1. 从任何站点或服务器下载tar.gz(或模块的任何类型的文件)
  2. 将文件解压缩到相应的子目录中(上面列出的2个中的一个)
  3. 测试以确保它import mechanize在交互模式下工作.

最后,如果我想用一个终端命令(类似的东西sudo apt-get)替换上面的步骤1 ,那将是什么命令,即,通过终端的什么命令等同于从浏览器点击下载链接以下载所需的文件?

Bur*_*lid 10

你不应该手动安装任何东西.

安装Python库有三种方法:

  1. 使用apt-get,aptitude或类似的实用程序.
  2. 使用easy_installpip(pip首先安装,默认情况下不可用)
  3. 如果您下载某个.tar.gz文件,请将其解压缩然后键入sudo python setup.py install

手动弄乱路径和移动文件是后来头疼的第一步.不要做.

为了完整起见,我应该提到便携,孤立的方式; 那就是为Python创建自己的虚拟环境.

  1. sudo apt-get install python-virtualenv
  2. virtualenv myenv(这会创建一个新的虚拟环境.您可以在此处自由安装软件包,而不会污染系统范围的Python库.它会添加(myenv)到您的提示中.)
  3. source myenv/bin/activate (这会激活你的环境;确保你的shell指向Python的正确位置)
  4. pip install _____(将__替换为您要安装的任何内容)
  5. 完成后,键入deactivate以将shell和环境重置为默认系统Python.


Dan*_*uri 9

virtualenv是干净地安装第三方库的事实上的Python标准.在这里阅读更多相关信息:http: //www.virtualenv.org/

用法示例:

daniel@redhotcar:~/tmp$ virtualenv myenv
New python executable in myenv/bin/python
Installing distribute....................................................................................................................................................................................done.
Installing pip...............done.
daniel@redhotcar:~/tmp$ cd myenv/
daniel@redhotcar:~/tmp/myenv$ bin/pip install mechanize
Downloading/unpacking mechanize
  Downloading mechanize-0.2.5.zip (445Kb): 445Kb downloaded
  Running setup.py egg_info for package mechanize

Installing collected packages: mechanize
  Running setup.py install for mechanize

Successfully installed mechanize
Cleaning up...
daniel@redhotcar:~/tmp/myenv$ bin/python
Python 2.7.2+ (default, Oct  4 2011, 20:06:09) 
[GCC 4.6.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import mechanize
>>> mechanize
<module 'mechanize' from '/home/daniel/tmp/myenv/local/lib/python2.7/site-packages/mechanize/__init__.pyc'>
>>> 
Run Code Online (Sandbox Code Playgroud)

在Ubuntu上,安装virtualenv via apt-get install python-virtualenv