【问题标题】:Installing a library in Python在 Python 中安装库
【发布时间】:2016-08-20 05:45:45
【问题描述】:

我是 MAC OS 的新手,我需要在 Python 中安装一个名为 btmorph 的库。 为了安装它,我必须在终端中编写这些命令:

git clone https://bitbucket.org/btorb/btmorph.git
cd btmorph
export PYTHONPATH=$(pwd):$PYTHONPATH

然后他们说:

上述命令将临时设置您的 $PYTHONPATH。在 .bashrc 中添加适当的路径以永久添加包。

第一个命令执行成功,但最后一个命令是我不知道的 PYTHONPATH,我不确定是否要永久更改它!

然后为了测试它我必须写:

nosetests -v --nocapture tests/structs_test.py
nosetests -v --nocapture tests/stats_test.py

对不起,我是 MAC 的初学者。 非常感谢。

【问题讨论】:

  • btmorph 文件夹是否包含 setup.py??
  • 您可以从.bashrc 中删除该行以轻松恢复更改。
  • 不,我只找到 python 文件(没有 setup.py)、文档、示例和测试
  • @GingerPlusPlus 第三个命令无法执行,因为我不知道我的 PAYTHONPATH 以及在命令本身中写入的位置。
  • 你不需要知道。您只需在开头附加目录即可。

标签: python macos


【解决方案1】:

要安装没有setup.py 文件的python 库,需要将库的根目录的位置附加到$PYTHONPATH 环境变量,以便Python 能够找到它。这是第三条命令export PYTHONPATH=$(pwd):$PYTHONPATH 临时执行的操作。

要更持久地执行此操作,该行,或者更具体地说,类似的行,需要找到进入bash shell 每次打开新终端窗口时加载的文件之一的方式。 ~/.bashrc 是这些文件之一,但 ~/.bash_profile 是另一个文件,可以说是 the better choice for a simple install on Mac OS X

具体来说,对于 btmorph 示例,有一个可以为您完成工作的单行代码。我自己在这里测试过,只要你安装了 btmorph 的所有依赖项,python 应该可以毫无问题地加载该库。

如果您已经执行了列出的前两个命令,那么您应该已经在克隆 btmorph 源代码的目录中。在默认终端会话中,您的提示符应为 Maestros-Mac:btmorph TheMaestro$ 之类的内容。如果是这样,你就准备好了。 (您也可以使用 pwdprint working directory 命令查看当前目录的完整路径)

复制以下命令并将其粘贴到您的终端窗口中,会将正确的行写入您的 .bash_profile 文件(或创建文件并将该行写入其中,如果它尚不存在),然后加载该文件。

echo \export PYTHONPATH=$PYTHONPATH:$PWD>>~/.bash_profile && source ~/.bash_profile

一旦你运行了这个命令,你应该可以在 Python 解释器中import btmorph,并且随着时间的推移,更改应该会持续存在。

请记住,由于您创建它的 btmorph 文件夹的位置已被硬编码到 $PYTHONPATH 变量中(这就是命令的 $PWD 部分所做的),因此您无法将 btmorph 文件夹从它所在的位置移动现在,否则 Python 将无法再找到它。如果您想将文件夹存储在其他位置,我会 cd 到该文件夹​​,然后将 git clone 从那里开始。

【讨论】:

  • 是的,.bash_profile 已成功修改,但 PyCharm 中的解释器无法导入库! .bash_profile 现在有一个新行: export PYTHONPATH=/Users/TheMaestro/btmorph 此外,我试图删除 .bash_profile 中关于 Python 路径(2.7、3.5)和 Python 代码(btmorph 除外)的完整行) 继续正常工作。
  • 哦 PyCharm。我喜欢它,但它会使一些任务变得异常困难。 PyCharm 与 Terminal 不同,它的 $PYTHONPATH 值似乎不是来自 ~/.bashrc~/.bash_profile,而是来自它自己的设置。 (我的印象是它可能会从某个地方导入一次设置,但之后的任何更新,你都得靠自己了。)对于 2016.1 版本,添加自定义路径的对话框is thoroughly hidden,但它是可行的。跨度>
猜你喜欢
  • 2018-08-04
  • 2016-08-09
  • 1970-01-01
  • 2011-03-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-27
  • 2018-06-01
相关资源
最近更新 更多