当我有另一个具有相同名称的模块时,如何从PyPI导入模块

时间:2014-06-01 21:23:23

标签: python import pip pypi

我正在尝试使用lockfile module from PyPI。我在Spyder内部进行开发。从PyPI安装模块后,我无法通过import lockfile导入它。我最终导入了anaconda/lib/python2.7/site-packages/spyderlib/utils/external/lockfile.py。 Spyder似乎希望在spyderlib/utils/external的开头有sys.path目录,或者至少没有一种我能找到的礼貌方式来添加我的其他路径让我在spyderlib/utils/external前面。

我正在使用python2.7但使用from __future__ import absolute_import

以下是我已经尝试过的内容:

  1. 编写在运行sys.path之前修改import lockfile的代码。这有效,但它不能成为正确的做事方式。
  2. 使用imp模块规避使用Python导入的常规机制(我还没有让它工作,但我猜它可以工作)
  3. 使用pip install --install-option="--prefix=modules_with_name_collisions" package_name之类的内容安装软件包。我还没有让它工作,但我猜它可以工作。看起来这个选项旨在创建一个完全独立的lib树,这比我需要的更多。 Source
  4. 使用pip install --target=lockfile_from_pip。文件显示在我告诉他们去的目录中,但是导入找不到它们。实际上pip uninstall也找不到它们。我得到Cannot uninstall requirement lockfile-from-pip, not installed我想我会删除目录并希望它是干净的。 Source
  5. 那么我访问PyPI锁文件模块的首选方式是什么?

0 个答案:

没有答案