python 常见问题备忘

1. 查看项目依赖项并输出到文件命令

  pip freeze > requirements.txt

  自动为当前项目安装依赖项:pip install pipreqs

  根据 requirements.txt 安装依赖项:pip --default-timeout=50000 install -r C:\xxxx\requirements.txt -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

2. 创建新环境,并切换到新环境

  virtualenv newenv1

  cd newenv1

  newenv1\Scripts\activate.bat

3. C++ 调用 python 时不安装 python 调用 python 代码

  目标目录下需要有python27.dll, python27.zip, Test001.py, xxx.exe(C++代码编译成的exe), 即可运行。D:\Python27\Dlls和D:\Python27\Lib, 把这两个目录下的文件拷贝在一起, 压缩成zip文件, 并且命名为python27.zip。python27.dll 在 python 安装目录下可以找到。python27.dll, python27.zip, xxx.exe必须在同一个目录。

4. 安装包 pip install xxx,安装指定版本用 pip install xxx=2.3.0,卸载 pip uninstall xxx,升级 pip 版本:python.exe -m pip install --upgrade pip

5. 查看已安装的包 pip show xxx,升级包版本 pip install --upgrade cython

6. 设置国内镜像源(https问题很麻烦)

  a) 临时使用(使用清华源)   pip install xxx -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

  b) 永久使用        pip config set global.index-url http://pypi.douban.com/simple
  c) 取消使用镜像源        pip config unset global.index-url

  可使用的镜像源有:

  1、华南理工大学镜像源

  http://pypi.hustunique.com/simple/%29
  2、清华大学
  https://pypi.tuna.tsinghua.edu.cn/simple
  3、豆瓣(不是https)
  http://pypi.douban.com/simple/
  4、清华大学开源镜像站
  https://mirrors.tuna.tsinghua.edu.cn/
  5、网易开源
  http://mirrors.163.com/
  6、华为
  https://mirrors.huaweicloud.com/
  7、阿里巴巴
  https://opsx.alibaba.com/mirror/

  如果能连接上只是网速慢,经常超时可以用 pip --default-timeout=50000 install xxx,设置足够长的超时时间

7.如何与C语言或C++语言互调

  a.使用cython,编写setup.py,然后再执行 python setup.py [可选参数] 即可编译成 pyd,可以通过C语言或C++调用。

    默认为C代码,文件顶部加 # distutils: language = c++ 使其它生成可调用的C++代码。

  b.也可以把扩展名为py的文件扩展名改为pyx,即可使用cython语法调用 c 或 c++,编写 setup.py 执行 python setup.py [可选参数] 即可编译成 pyd。

8. python 中相对路径如何引入父路径模块,见如下代码。当前目录用一个点,如果要引入更上层目录模块,将两个点换成三个点,以此类推。

  from ..parent_directory import mymodule

9. 各种目录获取和设置
  获取当前工作目录:os.getcwd()

  设置当前工作目录:os.chdir(dir)

  获取绝对路径:os.path.abspath('.')

  设置项目环境目录:sys.path.insert(0,"c:\abc\def") 或 sys.path.append("c:\abc\def")

10. python 如何查看某个模块提供了哪些方法以及参数列表

  导入模块:import+模块名
  查看模块名里面的所有函数:dir(模块名)
  查看模块里面的某个函数:help(模块名.函数名)

11. python 简单的类定义及私有成员定义

class Detail:
def __init__(self,FN,LN):
self.__firstname = FN
self.__lastname = LN
print("Done!")
d1=Detail("Rea","Messi")
print(d1._firstname) #私有成员,无法访问
print(d1._lastname) #私有成员,无法访问

12. 定义全局变量

cdef int code = 0;

cdef int getTestCode():
    global code
    code += 1
    return code

def test():
    print(getTestCode())
    print(getTestCode())
    print(getTestCode())

 

posted on 2022-11-10 17:15  空明流光  阅读(44)  评论(0编辑  收藏  举报

导航