4

我的物理课要求我使用VPython来制作模型等。我喜欢将代码合并到 Physics 中的想法,而且 VPython 总体上看起来相当不错,但是 VPython 真的希望你使用 VIDLE,他们的 IDLE 版本,作为你的 IDE。

我正在尝试在我最喜欢的 Python IDE PyCharm中使用它。如果我运行一个使用我知道在 VIDLE 中工作的 VPython 模块的脚本,我会收到一个错误:

ImportError: No module named visual

我可以去 PyCharm 的 Project Interpreter 页面,在那里我似乎应该能够添加和删除模块,但我不知道该怎么做。如果我单击添加/安装包,它会显示大量可用包的可搜索列表(来自 PyPi 数据库,对吗?),但 VPython 不在列表中。

VPython 似乎由 3 个模块组成,分别称为“vis”、“visual”和“visual_common”,还安装了其他模块“numpy”(已安装)、“FontTools”、“Polygon”和“ttfquery”。

有任何想法吗?希望这只是简单的事情。

4

3 回答 3

2

不幸的是,你不能像普通的 python 包那样简单地安装 vpython。这个过程比这要复杂得多。如果你使用 PyCharm 进行开发,你仍然可以。

首先,您需要在 Windows 上安装 vpython。这可能会将自己安装为您的主要 python 安装的站点包之一。

从这里安装它-> http://vpython.org/contents/download_windows.html

这样做之后,只需选择安装了 vpython 的 python 安装。

如果你想创建一个 virtualenv,那么使用--system-site-packages

 $ virtualenv --help                                                                                         [12:51:06]
Usage: virtualenv [OPTIONS] DEST_DIR

Options:
  --version             show program's version number and exit
  (...)
  --no-site-packages    DEPRECATED. Retained only for backward compatibility.
                        Not having access to global site-packages is now the
                        default behavior.
  --system-site-packages
                        Give the virtual environment access to the global
                        site-packages.
  (...)
于 2014-08-20T06:52:44.383 回答
2

您现在可以让 vpython 在 python3.4 中工作。请按照以下步骤操作:

准备

将http://www.lfd.uci.edu/~gohlke/pythonlibs/中的四个包TTFQueryFontToolsPolygonvpython下载到同一目录。

安装

  1. 运行命令
  2. cd path/to/package_downloaded_directory
  3. pip install packagename.whl
  4. 查找文件C:\Python34\lib\site-packages\vis\materials.py
  5. 在编辑器中打开文件,然后转到第 70 行
  6. 像这样评论这两行
class raw_texture(cvisual.texture):
      def __init__(self, **kwargs):
          cvisual.texture.__init__(self)
#              for key, value in kwargs.items():
#                  self.__setattr__(key, value)
  1. 保存更改

请注意,当您使用 vpython 编写脚本时,第一行必须如下所示:

from vis import *

下面是我的代码示例

from vis import *  
sphere(pos=vector(0,0,0),radius=0.5,color=color.red)
arrow(pos=vector(0.5,0,0),axis=vector(1,0,0),color=color.green)
于 2015-06-07T14:27:54.520 回答
0

在使用包之前,您需要在 Pycharm 中安装包 vpython。

从 vpython 导入 * 球 = 球体()

于 2020-03-30T09:28:53.453 回答