我在Windows上运行了一个Python应用程序,它包含以下软件包的导入:
请求 JSON psycopg2
我复制整个项目(我使用Pycharms编写应用程序并导入包)到一台新机器,并期望它可以工作。新机器也是Windows,我试图从命令行运行我的脚本(即新机器上没有Pycharm)。
相反,我收到错误消息" ModuleNotFoundError:没有名为'请求的模块'"
如果我看项目,我有目录:
venv
Lib
site-packages
requests
我错过了什么/做错了什么?
答案 0 :(得分:1)
在新计算机上,您必须source venv/bin/activate
,以便正确设置路径环境变量。特别是,which python
应该说是venv / bin / python而不是/ usr / bin / python。另外,请注意conda env update
或pip install -r requirements.txt
,以便在新机器上安装合适的venv库。
答案 1 :(得分:1)
你有几个选择,但首先是问题。您正在将代码库导出到新计算机,而无需在该计算机上和/或Python项目环境中安装所需的模块。在新机器上安装python之后,需要确保将PyCharm项目指向适当的环境。
File > Default Preferences > Project Interpreter
右侧显示的窗口将包含标有Project Interpreter
的下拉菜单。如果单击下拉列表,则应显示计算机上可用Python环境的列表。
根据您对site-packages
目录的描述,我假设您的解释程序没有指出新计算机上的正确环境。有了这个,你可以更好地在你的机器上创建一个新的虚拟python环境,并在该环境中安装每个相关的依赖项。
查看这篇文章here,了解在新机器上重新创建旧python环境的第一个最佳选择。
编辑:我很抱歉在回答问题之前没有更彻底地阅读这个问题。如果这是在Windows机器上运行,则需要仔细检查python正在使用的环境路径。在命令行环境检查Windows框的情况下,在不同的PATH上安装python非常容易。例如,如果您的PATH指向不同版本的Python,而PIP正在其他地方安装软件包,则可能会出现此问题。仔细检查您的System PATH for python以及命令行运行的版本。