我最近对Python中的虚拟环境感兴趣,以使我的代码更有组织性和可移植性.因此,我对Raspberry Pi进行了工厂重置,并从头开始,只使用默认的Python模块.在此之前,我列出了我的项目及其版本的所有依赖项,并将它们安装到了一个新创建的虚拟环境中.这是我在终端中如何做到这一点的示例,从我的项目目录开始.(我希望这与这个问题有关).
millertime@raspberrypi:~/Desktop/Project $ python3 -m venv venv
millertime@raspberrypi:~/Desktop/Project $ source venv/bin/activate
(venv) millertime@raspberrypi:~/Desktop/Project $ pip3 install mutagen==1.45.1
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting mutagen==1.45.1
Using cached https://www.piwheels.org/simple/mutagen/mutagen-1.45.1-py3-none-any.whl (218 kB)
Installing collected packages: mutagen
Successfully installed mutagen-1.45.1
(venv) millertime@raspberrypi:~/Desktop/Project $ deactivate
我的main.py
文件和我的虚拟环境在同一个目录中,但是当我try 导入我在虚拟环境中安装的一个模块时,我得到了一个错误.
Traceback (most recent call last):
File "/home/millertime/Desktop/Project/test.py", line 1, in <module>
import mutagen
ModuleNotFoundError: No module named 'mutagen'
除了Pygame和Pillow之外,我在虚拟环境中放置的所有其他库都会发生同样的情况.我认为这是因为Python预装了不同的版本.此外,我可以导入操作系统、随机和Python中全局安装的任何其他内容.
这就引出了一个问题,如何允许python程序导入虚拟环境中包含的模块?我在Raspberry Pi 4上使用Python 3.9.