【问题标题】:How to add a PYTHONPATH in a virtual environment with brew on a Mac?如何在 Mac 上使用 brew 在虚拟环境中添加 PYTHONPATH?
【发布时间】:2019-06-14 10:06:45
【问题描述】:

我正在运行 macOS Mojave,并且在这篇博文 here 之后安装了 Python 3.7。

简而言之,我做了什么:

  1. 已安装 Xcode
  2. 设置 Homebrew
  3. 已安装 Python 3
  4. 创建了一个虚拟环境

按照文章中的所有步骤进行。

我现在创建了一个带有一些函数的 python 文件。 我知道要在 jupyter notebook 中将此文件用作import my_file,我需要在PYTHONPATH 中添加此文件的路径,通常在.bash_profile 中完成。尽管我确实添加了export PYTHONPATH="/path/to/my/files/folder/:$PYTHONPATH",但什么也没发生。

我的问题是:如何添加自定义 PYTHONPATH,以便可以在 jupyteripython 中导入文件?

【问题讨论】:

    标签: python virtualenv homebrew pythonpath


    【解决方案1】:

    在我的安装中,/usr/local/bin/ipython 是一个包含

    的脚本
    #!/bin/bash
    PYTHONPATH="/usr/local/Cellar/ipython/6.5.0/libexec/lib/python3.7/site-packages:/usr/local/Cellar/ipython/6.5.0/libexec/vendor/lib/python3.7/site-packages" exec "/usr/local/Cellar/ipython/6.5.0/libexec/bin/ipython" "$@"`.
    

    改成

    #!/bin/bash
    PYTHONPATH=$PYTHONPATH:"/usr/local/Cellar/ipython/6.5.0/libexec/lib/python3.7/site-packages:/usr/local/Cellar/ipython/6.5.0/libexec/vendor/lib/python3.7/site-packages" exec "/usr/local/Cellar/ipython/6.5.0/libexec/bin/ipython" "$@"
    

    为我做了诀窍。

    【讨论】:

      【解决方案2】:

      我也有同样的环境,有一些方法可以解决它。

      首先,您可以使用 sys.path.append() 编辑 sys.path --不推荐

      导入系统

      import sys.path.append('/your/work/path')

      第二,你可以在“~/.bash_profile”中编辑PYTHONPATH,但是使用IDEA比如Pycharm时就不行了。

      导出 PYTHONPATH=$PYTHONPATH:/your/work/path

      来源 ~/.bash_profile

      最后,您可以将您的工作目录复制到 dist-packages,您可以使用 sys.path 找到它。

      另外,您还可以通过Add to python path mac os x找到其他方法

      【讨论】:

      • 之后为什么要使用sys.path
      • 检查配置是否有效。它将打印所有目录
      • 它不起作用。编辑PYTHONPATH 然后使用sys.path 也是没有意义的。您可以在这里查看以供参考:stackoverflow.com/questions/3387695/add-to-python-path-mac-os-x
      • 我检查了终端中的 ipython/python/jupyter,实际上它确实有效。但是当我使用 IDE(pycharm) 时,它似乎没有得到 PYTHONPATH
      【解决方案3】:

      你忘了$

      export PYTHONPATH=$PYTHONPATH:/your/path/to/your/module
      

      【讨论】:

      • 这应该在.bash_profile 中吗?如果是,这是否仅影响我的虚拟环境或所有虚拟环境?最后一个问题,为什么要加$PYTHONPATH
      • 我想对于 virtualenv 你可能会看看这个:stackoverflow.com/a/17963979/7692655
      • 你是 bashrc 的来源吗?使用“源 .bash_profile”?
      猜你喜欢
      • 2019-02-02
      • 2017-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-10
      • 2017-12-04
      • 1970-01-01
      • 2014-01-24
      相关资源
      最近更新 更多