如何将“构建”模块放在python搜索路径中

时间:2011-06-03 10:23:37

标签: python linux

经过这么多麻烦后,我构建了libxml from source。我执行了以下步骤

  1. 下载lxml.tar.gz并提取其内容
  2. 使用
  3. 构建它

    python2.7 setup.py build_ext -i -I /usr/include/libxml2 --with-xslt-config=/opt/xslt/bin/xslt-config

    1. 我尝试进入python shell并尝试import lxml。它没用?

    2. 然后我进入了目录

      /home/user/tmp/(extracted lxml directory/

    3. 并在linux命令提示符下输入

      PYTHONPATH=src python27
      

      然后我尝试import lxml,然后就可以了。

      src文件夹包含文件夹名称lxml

      所以我想知道,当我构建lxml时,它意味着我总是需要该目录来使用它,或者我可以删除它。如果没有,那么我需要在哪个位置放置该文件夹,以便如果我运行python正常方式然后我可以访问该

      1. 我们自己构建的模块是否未安装在python文件夹中?
      2. 我可以用它制作蟒蛇蛋吗?

2 个答案:

答案 0 :(得分:1)

你告诉它build_ext,所以它只编译它并且没有安装。如果你告诉它install,它会将它安装在系统范围的目录中(但你需要写权限)或你指定的任何目录(使用--home(用于安装为用户)或{{ 1}}(用于以root身份安装到非标准目录,例如--prefix下)选项)。

答案 1 :(得分:0)

当你设置PYTHONPATH时,你给它一个相对路径,所以它只能在那个文件夹中工作。如果指定绝对路径,例如:

export PYTHONPATH=/home/user/tmp/extracted_whatever

无论你现在在哪个文件夹,它都能正常工作。