您如何回答的上下文:除了基本的git命令,我对命令行环境是陌生的。我一直只是使用像PyCharm或NetBeans这样的IDE来为学校项目运行内容。请相应地列出答案。
我有一个非常小的python脚本,可以提取URL:
import sys
sys.path.append(r'C:\Users\WNeill\PycharmProjects\bloomskyGrantGrove\venv\Lib\site-packages\bloomsky_api')
import bloomsky_api as bs
client = bs.BloomSkyAPIClient(api_key='pr-XXXXXXXXXX')
data = client.get_data()[0] # Dictionary formatted like JSON, if you want data besides the latest image
with open("image_URL.txt", 'w') as file:
print(data.get('outdoor').get('image_url'), file=file)
我做了sys.path.append()
,因为我读了一个different question,它可以解决从命令行运行脚本时出现的“找不到模块”的问题。
嗯,确实做到了……现在,它找到了我的进口货,但显然我的进口货有进口货...
$ py -m bloomtest.py
Traceback (most recent call last):
File "C:\Program Files\Python38\lib\runpy.py", line 183, in _run_module_as_main
mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
File "C:\Program Files\Python38\lib\runpy.py", line 109, in _get_module_details
__import__(pkg_name)
File "C:\Users\WNeill\PycharmProjects\bloomskyGrantGrove\bloomtest.py", line 4, in <module>
import bloomsky_api as bs
File "C:\Users\WNeill\PycharmProjects\bloomskyGrantGrove\venv\Lib\site-packages\bloomsky_api\bloomsky_api.py", line 2, in <module>
import requests
ModuleNotFoundError: No module named 'requests'
那么当我的依赖项具有依赖项时,我该怎么做才能使这项工作有效?
请勿使用sys.path.append
。想象一下,将您的代码发送给其他人,他们的软件包将不会位于同一路径,并且他们将无法运行您的程序。您可能不打算分发代码,但这只是一种不好的做法。
相反,您应该使用pip
安装软件包,因为我假设您一直在使用PyCharm软件包管理器。我认为它会自动与当前版本的python一起安装(虽然不确定,但我在Linux上),其用法如下:
pip install BloomSky-API
它将自动获取所有依赖项并将它们放在正确的位置。
我以前从未使用过py
命令(我错过了吗?),请尝试使用python bloomtest.py
运行它,以确保确定。您可能会得到一个错误消息,告诉您python
是无法识别的命令或文件,如果是这种情况,则意味着您的PATH设置不正确。我发现解决此问题的最简单方法是简单地重新安装python,并确保选中显示将python添加到PATH的复选框。
如果不确定是否能解决您遇到的问题,我通常会在评论中发布这样的建议,但是答案太长而无法放入评论中。希望这会有所帮助!
我想发布问题的最终解决方案,由于DutChen18的回答,我偶然发现了该解决方案。
他说我应该使用pip install
安装我的所有软件包,这是我已经做的一件事。除了基本的git之外,我对命令行了解不多。再次尝试这样做会给我requirement already satisfied
错误。
但是,我在PyCharm中使用嵌入式终端:C:\Program Files\Git\bin\bash.exe
,该终端在您下载Git时提供。这在PyCharm中非常有效,因为它会自动在项目的工作目录中启动。一个新的命令行用户对我来说非常方便。
我决定与PyCharm分开打开Git Bash,然后再次运行pip install
。我发现的第一件事是,没有python -m pip install
,它就无法工作,与PyCharm嵌入式终端不同。
一旦弄清楚,我就尝试python -m pip install BloomSky-API
,但是这次并没有告诉我已经安装了库。突然之间,我可以从命令行运行python脚本。
我有[[零个线索,说明为什么会发生这种情况或现在为什么会起作用,并且,我想知道事情已经解决了,我想听听一个更技术性的解释。