小编use*_*882的帖子

将目录添加到pycharm中的python路径

我希望能够paraview.simple在PyCharm中使用该库.我已经在我的电脑上安装了paraview.这个软件包无法安装,pip据我所知,没有.whl文件.网站文档建议将包含所有python文件的目录添加到PYTHONPATH.

如何在我的PyCharm会话中在PYTHONPATH中添加相关文件夹,并默认保存在那里,这样当我关闭并重新打开paraview.simple库时仍然可用?

python pythonpath pycharm

15
推荐指数
4
解决办法
2万
查看次数

使用 powershell 将路径永久添加到 Windows 似乎不起作用

我遵循此过程,以便使用 powershell 永久添加 SumatraPDF 的路径。链接中的最后几个命令旨在检查路径是否确实已添加。

当我使用以下命令访问路径时,

(get-itemproperty -path 'Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment' -Name PATH).Path.split(';')
Run Code Online (Sandbox Code Playgroud)

结果包括 SumatraPDF 的路径

C:\Windows\system32
C:\Windows
C:\Windows\System32\Wbem
C:\Windows\System32\WindowsPowerShell\v1.0\
C:\Windows\System32\OpenSSH\
C:\ProgramData\chocolatey\bin
C:\texlive\2021\bin\win32
C:\Users\921479\AppData\Local\SumatraPDF
Run Code Online (Sandbox Code Playgroud)

但是,当我使用以下命令访问它时,

($env:path).split(';')
Run Code Online (Sandbox Code Playgroud)

结果不包含 SumatraPDF 的路径:

C:\Windows\system32
C:\Windows
C:\Windows\System32\Wbem
C:\Windows\System32\WindowsPowerShell\v1.0\
C:\Windows\System32\OpenSSH\
C:\ProgramData\chocolatey\bin
C:\texlive\2021\bin\win32
C:\Users\921479\AppData\Local\Microsoft\WindowsApps
Run Code Online (Sandbox Code Playgroud)

最后,实际传递sumatrapdf不起作用,这向我表明真正的路径是使用get-itemproperty命令访问的路径。

为什么注册表中设置的路径与中设置的路径不对应$env:path我所遵循的链接中显示的过程是否有错误?我怎样才能纠正它?

我应该提到我已经尝试重新启动外壳,但它没有帮助。

windows powershell environment-variables

10
推荐指数
1
解决办法
1万
查看次数

可以在sympy中为符号添加描述吗?

我寻求一种能够在需要时为符号提供描述的功能.这将是一个类似的东西

>>> x = symbols('x')
>>> x.description.set('Distance (m)')
>>> t = symbols('t')
>>> t.description.set('Time (s)')
>>> x.description()
'Distance (m)'
>>> t.description()
'Time (s)'
Run Code Online (Sandbox Code Playgroud)

这将是有用的,因为它可以让我跟踪我的所有变量,并知道我正在处理的物理量.在这种情况下甚至可以远程实现这样的事情吗?

编辑

我不认为这是重复的,因为__doc__符号的属性似乎是不可变的.考虑以下:

>>> print(rhow.__doc__)

    Assumptions:
       commutative = True

    You can override the default assumptions in the constructor:

from sympy import symbols
A,B = symbols('A,B', commutative = False)
bool(A*B != B*A)
    True
bool(A*B*2 == 2*A*B) == True # multiplication by scalars is commutative
    True

>>> rhow.__doc__ = 'density of water'
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent …
Run Code Online (Sandbox Code Playgroud)

python sympy

8
推荐指数
1
解决办法
351
查看次数

Sympy 允许定义整数符号,但不考虑它们的行为

我有以下一组命令来做一个定积分

n [2]: from sympy import *
init_printing()

x,L = symbols('x, L')
n = symbols('n', integer = True)

exp = sin((n+Rational(1,2))*pi*x/L)**2
integrate(exp, (x,0,L))
Run Code Online (Sandbox Code Playgroud)

这些命令的结果如下所示:

在此处输入图片说明

第一个结果意味着 n=-1/2 这意味着 n 不是整数。如果在如上所示的操作中不考虑它,则为符号提供整数属性有什么意义?如果 n 是整数,我如何强制 sympy 认识到分段结果的第一部分是不可能的?

python sympy

7
推荐指数
1
解决办法
2497
查看次数

在 SymPy 中获取特定符号

我正在尝试为希腊字母 nu 后跟一个主上标实现一个符号。这可以使用 LaTeX 轻松实现:

$\nu'$

我在 SymPy 中尝试了许多变体,但没有一个给我正确的符号:

nuprime = symbols('{\nu}\'')
nuprime = symbols('{nu}{\'}')
nuprime = symbols('nu\'')
nuprime = symbols('$nu\'$')
Run Code Online (Sandbox Code Playgroud)

举几个。如何在 SymPy 上获取我正在寻找的符号?

编辑 我正在使用jupyter qtconsole乳胶印刷。我希望在这种环境中创建 nu 素数符号。

latex sympy

6
推荐指数
2
解决办法
1653
查看次数

单独的 return 语句是有效的 Lua 代码吗?

在 pandoc对过滤器的介绍中,以下代码作为“Lua 过滤器的示例”提供:

return {
  {
    Strong = function (elem)
      return pandoc.SmallCaps(elem.c)
    end,
  }
}
Run Code Online (Sandbox Code Playgroud)

我从未在 Lua 中见过独立的 return 语句,如上面的示例所示。此外,我在官方参考文献中看不到此语法的记录。

谁能告诉我以下信息:

  • 这是否是有效的Lua?
  • Lua文档中哪里记录了它?

lua function pandoc

6
推荐指数
1
解决办法
152
查看次数

关于设置 matplotlib.pyplot 文本元素的字体大小

matplotlib.pyplot经常需要更改给定内 4 个不同文本元素的字体大小axes

  • 轴标签
  • 主要刻度标签
  • 图例文本
  • 轴标题

这就是我目前的做法:

import matplotlib.pyplot as plt
plt.plot([1,2,3], label = 'Whatever')
plt.xlabel('xaxis', fontsize = 16)
plt.ylabel('yaxis', fontsize = 20)
plt.legend(fontsize = 18)
plt.xticks(fontsize = 20)
plt.yticks(fontsize = 20)
plt.title('PLOT', fontsize = 20)
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,这是相当多的代码行,特别是考虑到通常我需要所有这些都具有相同的字体大小(尽管本示例中没有反映这一点)。此外,这些行可能分散在我的脚本中,如果我需要重置字体,则很难找到。我倾向于认为网格、字体、颜色和图例等格式元素与实际的数据处理/绘图是分开的。因此我有两个问题:

  • 有没有一种方法可以使用 pyplot 获取所有这些元素,然后一次性设置它们的字体大小?
  • 有没有办法在绘图后设置这些对象的字体大小(特别是 x 和 y 标签以及标题,尽管最好是全部)?

python plot matplotlib

5
推荐指数
1
解决办法
1万
查看次数

我将光栅捆绑到可执行文件中的方式有​​问题

预期行为和实际行为。

我希望rasterio使用pyinstaller. 该脚本在我的 python 环境中运行良好。但是我无法使用PyInstaller.

重现问题的步骤。

我有一个名为的脚本workflow_3.py,其中包含以下内容:

import rasterio

就是这样。我尝试编译然后使用 pyinstaller 运行它,如下所示:

(wps_env36) D:\11202750-002_RA2CE\Basis>pyinstaller workflow_3.py (wps_env36) D:\11202750-002_RA2CE\Basis>dist\workflow_3\workflow_3.exe

编译似乎运行完成,但是当我运行可执行文件时,出现以下错误:

(wps_env36) D:\11202750-002_RA2CE\Basis>dist\workflow_3\workflow_3.exe
Traceback (most recent call last):
  File "workflow_3.py", line 1, in <module>
    import rasterio
  File "c:\programdata\anaconda2\envs\wps_env36\lib\site-packages\PyInstaller\loader\pyimod03_i
mporters.py", line 627, in exec_module
    exec(bytecode, module.__dict__)
  File "site-packages\rasterio\__init__.py", line 23, in <module>
  File "rasterio\_base.pyx", line 1, in init rasterio._base
ModuleNotFoundError: No module named 'rasterio._shim'
[17536] Failed to execute script workflow_3
Run Code Online (Sandbox Code Playgroud)

尝试解决问题

我通过显式添加'rasterio._shim'hidden-imports变量包含的列表来修改规范文件。然后我跑了 …

python pyinstaller rasterio

5
推荐指数
1
解决办法
2877
查看次数

以绘图单位指定 matplotlib 散点大小

我想不使用点或像素而是使用绘图单位来指定散点大小。以下面为例:

import matplotlib.pyplot as plt
x = [0]
y = [0]
plt.scatter(x,y)
plt.show()
Run Code Online (Sandbox Code Playgroud)

这会产生如下图:

在此输入图像描述

比如说,如果我希望标记的半径恰好为 0.002 个绘图单位,该怎么办?据我了解,该s参数表示标记大小的区域(以磅为单位)。有没有办法直接以绘图单位提供它?如果不是,从绘图单位转换为点的最佳方法是什么,以便我可以将其传递到s参数中?

我还看到了一些其他问题,建议使用 aPatchCollection并简单地绘制具有指定半径的圆。我不想使用这种方法。我想避免广泛重写现有代码,而是将s参数与plt.scatter.

编辑

我尝试使用这个问题中的代码,它显然允许您根据绘图单位控制标记大小。但是我无法真正让它适用于我的基本情况:

import matplotlib.pyplot as plt
import numpy as np


class scatter():
    def __init__(self,x,y,ax,size=1,**kwargs):
        self.n = len(x)
        self.ax = ax
        self.ax.figure.canvas.draw()
        self.size_data=size
        self.size = size
        self.sc = ax.scatter(x,y,s=self.size,**kwargs)
        self._resize()
        self.cid = ax.figure.canvas.mpl_connect('draw_event', self._resize)

    def _resize(self,event=None):
        ppd=72./self.ax.figure.dpi
        trans = self.ax.transData.transform
        s =  ((trans((1,self.size_data))-trans((0,0)))*ppd)[1]
        if s != self.size:
            self.sc.set_sizes(s**2*np.ones(self.n))
            self.size = s …
Run Code Online (Sandbox Code Playgroud)

python matplotlib scatter-plot

5
推荐指数
0
解决办法
2875
查看次数

为什么“mypy --strict”在这个简单的代码中不会抛出错误?

我有以下内容test.py

def f(x: int) -> float:
    pass

if __name__=="__main__":
  f(4)
Run Code Online (Sandbox Code Playgroud)

当我运行时mypy --strict test.py,我没有收到任何错误。

我预计mypy能够推断出我的定义有问题f。它显然没有return声明,并且永远不能返回浮点数。

我觉得这里有些基本的东西我不明白。语句是否存在return是可以静态检查的。为什么会mypy错过呢?

python types type-hinting mypy

5
推荐指数
1
解决办法
1423
查看次数