obsidian_vault_template_for_researcher icon indicating copy to clipboard operation
obsidian_vault_template_for_researcher copied to clipboard

根据issue16的方法调整后mac仍无法归档草稿

Open EvaAphelios opened this issue 2 years ago • 25 comments

Environment

  1. Vault template release version: v1.7
  2. Operating system: macOS Monterey 12.3.1
  3. Python version: 3.9.12 (anaconda)
  4. Zotero version: 6.0.7
  5. Pandoc version: 2.18
  6. Obsidian version: 0.14.6

Bug description

obsidian中的准备:front matter中每一项我已确保填上,destination格式确保无误(无论是03-98还是03-Projects/自建项目A都尝试过),状态改为了complete; python方面的准备:检查usr/bin发现文件叫做python3,于是按照issue16(good issue)中用户liuxiao916的方案调整,第一种方案:终端输入指令sudo ln -s /usr/bin/python3 /usr/bin/python后需要输入电脑密码,而后显示operation not permitted;改用第二种方案:在设置中将templater插件的user function的各个指令中的python替换为python3,多次尝试(包括重启后)都没有成功使得草稿归档。 您的模板库开发得非常棒!我想长期使用,但是关于python这里遇到的问题,还希望您能拨冗解决一下!十分感谢!

Obsidian console information

console显示 VM126:15960 QuickAdd: (LOG) TemplaterError: Error with User Template auto_transfer

EvaAphelios avatar May 15 '22 06:05 EvaAphelios

image

刚为常用的若干功能新增了几个按钮(见右侧边栏),通过 shell commands 插件调用 python 代码,应该具有更好的多平台适应性。 git clone 后可自行尝试修改该插件设置:

image

sheldonxxd avatar May 15 '22 07:05 sheldonxxd

先需要确保你自己打开的 terminal 能够运行 python(anaconda)。

sheldonxxd avatar May 15 '22 07:05 sheldonxxd

image

刚为常用的若干功能新增了几个按钮(见右侧边栏),通过 shell commands 插件调用 python 代码,应该具有更好的多平台适应性。 git clone 后可自行尝试修改该插件设置:

image

刚按照您的指示,在shell commands插件界面的草稿归档处选择了小按键“execute now”,随后在我想要归档的草稿行文处显示zsh:1: command not found: python;而后我考虑到是不是我的文件叫python3的原因,于是将shell commands中python改为python3,而后显示↓ Traceback (most recent call last): File "./08-Assets/Scripts/auto_transfer.py", line 3, in from obs import Obsidian File "/Users/略去我的名字/Library/Mobile Documents/iCloud~md~obsidian/Documents/Research Vault/08-Assets/Scripts/obs.py", line 2, in import bibtexparser ModuleNotFoundError: No module named 'bibtexparser'

然而关于bibtexparser,我根据您的使用指南在第一部分软件安装的时候就已经安装过了,如下: Requirement already satisfied: pyperclip in ./opt/anaconda3/lib/python3.9/site-packages (1.8.2) Requirement already satisfied: bibtexparser in ./opt/anaconda3/lib/python3.9/site-packages (1.2.0) Requirement already satisfied: future>=0.16.0 in ./opt/anaconda3/lib/python3.9/site-packages (from bibtexparser) (0.18.2) Requirement already satisfied: pyparsing>=2.0.3 in ./opt/anaconda3/lib/python3.9/site-packages (from bibtexparser) (3.0.4)

此外,您提及先需要确保自己打开的 terminal 能够运行 python(anaconda);在这一方面我确实是第一次接触python不太了解,之前安装anaconda后运行python --version确实能跳转出版本信息,双击anaconda navigator也能成功打开界面,您觉得这样子的功能验证够吗?还是我需要进行别的验证方法?

再次感谢您的回答!

EvaAphelios avatar May 15 '22 08:05 EvaAphelios

和你遇到相同的问题

yangjiming93 avatar May 15 '22 11:05 yangjiming93

Obsidian启动时会覆盖环境变量PATH,默认启动/usr/bin路径下的python和python3。因为Mac很多底层库调用的都是/usr/bin路径下的python,不建议直接用超链接覆盖,可能会系统程序导致版本错误。建议使用绝对路径指定调用的python。例如:/opt/homebrew/bin/python /Users/xx/opt/miniconda3/envs/pytorch/bin/python

截屏2022-05-17 12 15 56

chengsonghust avatar May 17 '22 04:05 chengsonghust

Obsidian启动时会覆盖环境变量PATH,默认启动/usr/bin路径下的python和python3。因为Mac很多底层库调用的都是/usr/bin路径下的python,不建议直接用超链接覆盖,可能会系统程序导致版本错误。建议使用绝对路径指定调用的python。例如:/opt/homebrew/bin/python /Users/cs/opt/miniconda3/envs/pytorch/bin/python

根据你的提示,Command Shell 可以调用Python脚本了,但是QuickAdd 草稿归档无反应,是需要改Templater吗?

yangjiming93 avatar May 17 '22 05:05 yangjiming93

Obsidian启动时会覆盖环境变量PATH,默认启动/usr/bin路径下的python和python3。因为Mac很多底层库调用的都是/usr/bin路径下的python,不建议直接用超链接覆盖,可能会系统程序导致版本错误。建议使用绝对路径指定调用的python。例如:/opt/homebrew/bin/python /Users/cs/opt/miniconda3/envs/pytorch/bin/python

没事了!我自己又重新设置了QuickAdd,问题已解决

yangjiming93 avatar May 17 '22 05:05 yangjiming93

Obsidian启动时会覆盖环境变量PATH,默认启动/usr/bin路径下的python和python3。因为Mac很多底层库调用的都是/usr/bin路径下的python,不建议直接用超链接覆盖,可能会系统程序导致版本错误。建议使用绝对路径指定调用的python。例如:/opt/homebrew/bin/python /Users/cs/opt/miniconda3/envs/pytorch/bin/python

没事了!我自己又重新设置了QuickAdd,问题已解决

您好,请问您是如何最终解决的呢?

EvaAphelios avatar May 17 '22 09:05 EvaAphelios

Obsidian启动时会覆盖环境变量PATH,默认启动/usr/bin路径下的python和python3。因为Mac很多底层库调用的都是/usr/bin路径下的python,不建议直接用超链接覆盖,可能会系统程序导致版本错误。建议使用绝对路径指定调用的python。例如:/opt/homebrew/bin/python /Users/cs/opt/miniconda3/envs/pytorch/bin/python

没事了!我自己又重新设置了QuickAdd,问题已解决

您好,请问您是如何最终解决的呢?

使用python,而不是python3 解决办法

  1. Terminal- which python
    1. /opt/anaconda3/bin/python
  2. Obsidian 插件 Shell Command
    1. python xxx改为/opt/anaconda3/bin/python ./08-Assets/Scripts/auto_transfer.py 3.文件complete, destination 等信息设置好后,调用Shell Command 草稿归档

希望能帮助到你

yangjiming93 avatar May 17 '22 13:05 yangjiming93

@yangjiming93 成功了!感谢您,也感谢楼里所有其他答主~

EvaAphelios avatar May 17 '22 16:05 EvaAphelios

Obsidian启动时会覆盖环境变量PATH,默认启动/usr/bin路径下的python和python3。因为Mac很多底层库调用的都是/usr/bin路径下的python,不建议直接用超链接覆盖,可能会系统程序导致版本错误。建议使用绝对路径指定调用的python。例如:/opt/homebrew/bin/python /Users/cs/opt/miniconda3/envs/pytorch/bin/python

没事了!我自己又重新设置了QuickAdd,问题已解决

您好,请问您是如何最终解决的呢?

使用python,而不是python3 解决办法

  1. Terminal- which python

    1. /opt/anaconda3/bin/python
  2. Obsidian 插件 Shell Command

    1. python xxx改为/opt/anaconda3/bin/python ./08-Assets/Scripts/auto_transfer.py 3.文件complete, destination 等信息设置好后,调用Shell Command 草稿归档

希望能帮助到你

请问第一条terminal是在哪里?第二条wwwindows用户可以这样修改吗,我也是ModuleNotFoundError: No module named 'bibtexparser'

ambition88 avatar May 20 '22 13:05 ambition88

@ambition88 terminal就是终端;我操作系统是mac不太了解,抱歉orz

EvaAphelios avatar May 22 '22 11:05 EvaAphelios

@ambition88 terminal就是终端;我操作系统是mac不太了解,抱歉orz

好的谢谢你

ambition88 avatar May 22 '22 12:05 ambition88

@ambition88 terminal就是终端;我操作系统是mac不太了解,抱歉orz

您好请问怎么确保自己的anaconda能运行呀,以及我该怎么知道它的绝对路径呀

heitanzi avatar May 29 '22 14:05 heitanzi

我检查了auto_transfer.py代码,发现第39行的base = os.path.join(rootdir , target)无法得到需要迁移的地址,将其修改成base = rootdit + target,解决了问题

Lenthking avatar May 31 '22 16:05 Lenthking

我是M1 Mac,系统版本12.5,用的是anaconda提供的python

Lenthking avatar May 31 '22 16:05 Lenthking

你好,我的系统是win10,Python来自anaconda,单独运行auto_tranfer.py可顺利归档,在obsidian中通过quickadd执行“草稿归档”无反应,感觉像是未能顺利调用py文件;右侧按钮点击无反应,提示没在编辑模式,但我确实是在编辑模式下,请指教,谢谢 屏幕截图 2022-08-17 214344

thormaxx avatar Aug 17 '22 13:08 thormaxx

你好,我的系统是win10,Python来自anaconda,单独运行auto_tranfer.py可顺利归档,在obsidian中通过quickadd执行“草稿归档”无反应,感觉像是未能顺利调用py文件;右侧按钮点击无反应,提示没在编辑模式,但我确实是在编辑模式下,请指教,谢谢 屏幕截图 2022-08-17 214344

我也遇到了同样的问题,请问解决了么?

Sakurakdx avatar Aug 23 '22 03:08 Sakurakdx

Obsidian启动时会覆盖环境变量PATH,默认启动/usr/bin路径下的python和python3。因为Mac很多底层库调用的都是/usr/bin路径下的python,不建议直接用超链接覆盖,可能会系统程序导致版本错误。建议使用绝对路径指定调用的python。例如:/opt/homebrew/bin/python /Users/cs/opt/miniconda3/envs/pytorch/bin/python

没事了!我自己又重新设置了QuickAdd,问题已解决

您好,我的系统环境和您的非常相似,十分想请教一下,您知道目前的模板在MacBook如何正常使用”项目归档“功能吗?我尝试使用shell command,但是不知道如何设置!templater基本没用,只能尝试用shell command解决

OMGljy avatar Aug 24 '22 15:08 OMGljy

你好,我的系统是win10,Python来自anaconda,单独运行auto_tranfer.py可顺利归档,在obsidian中通过quickadd执行“草稿归档”无反应,感觉像是未能顺利调用py文件;右侧按钮点击无反应,提示没在编辑模式,但我确实是在编辑模式下,请指教,谢谢 屏幕截图 2022-08-17 214344

我也遇到了同样的问题,请问解决了么?

认命了,选择直接在obsidian外手动运行py文件了

thormaxx avatar Aug 30 '22 12:08 thormaxx

如果你安装了windows的terminal终端软件会出现这样的问题,在cmd中安装了bibtexparser模块,但是在obsidian里面运行会提示这个模块不存在。解决方法是进入vault/08-assets/Scripts文件夹,然后shift + 鼠标右键,在终端中打开,运行python auto_transfer.py,就会报模块不存在的错误,然后用pip进行模块安装即可解决问题。

Amoseriy avatar Sep 27 '22 15:09 Amoseriy

我使用Onedrive共享的文件夹,当我全部缓存到本地时,也解决了这个问题

Sakurakdx avatar Sep 28 '22 00:09 Sakurakdx

如果你安装了windows的terminal终端软件会出现这样的问题,在cmd中安装了bibtexparser模块,但是在obsidian里面运行会提示这个模块不存在。解决方法是进入vault/08-assets/Scripts文件夹,然后shift + 鼠标右键,在终端中打开,运行python auto_transfer.py,就会报模块不存在的错误,然后用pip进行模块安装即可解决问题。

确实是调用到最后找不到模块。

  1. Win + R 打开运行窗口,输入cmd回车,打开命令行窗口
  2. 找到pip安装路径。Python2/Python3安装路径是相同的,都在x:\Python xx\Scripts路径下
  3. 拖动pip主应用程序到命令行窗口
  4. 输入“install + 模块/包名”,注意中间要有空格。然后回车。窗口中会显示下载信息。(pip install pyperclip bibtexparser)
  5. 问题搞定

geyuanyu2018 avatar Oct 07 '22 05:10 geyuanyu2018

你好,我的系统是win10,Python来自anaconda,单独运行auto_tranfer.py可顺利归档,在obsidian中通过quickadd执行“草稿归档”无反应,感觉像是未能顺利调用py文件;右侧按钮点击无反应,提示没在编辑模式,但我确实是在编辑模式下,请指教,谢谢 屏幕截图 2022-08-17 214344

我也遇到了相同的问题,请问有人知道怎么解决吗?

lvl17 avatar Oct 25 '22 10:10 lvl17

Obsidian启动时会覆盖环境变量PATH,默认启动/usr/bin路径下的python和python3。因为Mac很多底层库调用的都是/usr/bin路径下的python,不建议直接用超链接覆盖,可能会系统程序导致版本错误。建议使用绝对路径指定调用的python。例如:/opt/homebrew/bin/python /Users/cs/opt/miniconda3/envs/pytorch/bin/python

没事了!我自己又重新设置了QuickAdd,问题已解决

您好,请问您是如何最终解决的呢?

使用python,而不是python3 解决办法

  1. Terminal- which python

    1. /opt/anaconda3/bin/python
  2. Obsidian 插件 Shell Command

    1. python xxx改为/opt/anaconda3/bin/python ./08-Assets/Scripts/auto_transfer.py 3.文件complete, destination 等信息设置好后,调用Shell Command 草稿归档

希望能帮助到你

解决了,非常感谢

binbinZhao2017 avatar Jan 12 '23 10:01 binbinZhao2017