gpt4 book ai didi

python - 更新指向包含空格的保管箱目录的 PYTHONPATH 变量

转载 作者:太空宇宙 更新时间:2023-11-03 13:41:27 25 4
gpt4 key购买 nike

我正在尝试导入我编写的 python 模块,该模块包含在路径包含空格的 Dropbox 文件夹中。关注评论here ,我不想每次使用 python 时都执行 sys.path.append(path_to_repository),我宁愿只更新我的 bash 配置文件以指向正确的 Dropbox 文件夹一次。

我已尝试通过将以下行附加到我的 ~/.bash_profile 来调整上一页中的代码:

PYTHONPATH ="/Users/myusername/Dropbox (projectname)/REPOSITORY_NAME"
export ${PYTHONPATH}

当我关闭终端窗口并重新打开时,我收到以下错误消息:

-bash: PYTHONPATH: command not found
-bash: export: `/Users/myusername/Dropbox': not a valid identifier
-bash: export: `(projectname)/REPOSITORY_NAME': not a valid identifier

并且(不足为奇)当我尝试从 python 中的存储库导入时,我发现找不到模块:

>>> from REPOSITORY_NAME import myfile
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named REPOSITORY_NAME

有人有解决办法吗?我正在考虑的一些问题/可能性 -

1)和我的Anaconda配置有关系吗? (Anaconda 在虚拟环境中运行)

2) 与Dropbox安装python代码的文件夹有关系吗?

3)难道是pythonpath中的空格没有被正确解释?

4) 这是同步到 github 和 bitbucket 的同一个目录有什么问题吗?

预先感谢您的帮助。

*编辑:

解决方案似乎是 1) 删除第一行中的额外空间和 2) 在第二行中将 ${PYTHONPATH} 替换为 PYTHONPATH,即将 ~/.bash_profile 调整为具有以下行:

PYTHONPATH="/Users/myusername/Dropbox (projectname)/REPOSITORY_NAME"
export PYTHONPATH

最佳答案

我之前遇到过类似的问题。错误消息表明问题出在目录路径中的空格 - bash_profile 被空格截断并将路径拆分为 2。这可能是 bash 处理空格的方式有问题,但我不是100% 确定。

这是一个对我有用的解决方案:

export PYTHONPATH="/Users/myusername/Dropbox (projectname)/REPOSITORY_NAME"

它与您拥有的类似,但 export 和 PYTHONPATH 在同一行。我认为这不会干扰 Dropbox、Github、Bitbucket、Anaconda(或任何其他 virtualenv,如 Enthought)等,只要您在每个包含 .py 文件的目录中都有一个 _init__.py' 文件。

希望对你有帮助

关于python - 更新指向包含空格的保管箱目录的 PYTHONPATH 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30493244/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com