标签: entry-point

Setuptools console_script入口点在安装时找不到,但是在develop中找到了

我的包有一个在其setup.py中定义的入口点:

# -*- coding: utf-8 -*-
from setuptools import setup

setup(
    name='fbuildbot',
    version='0.1',
    ...
    entry_points={
        'console_scripts': [
            'create = create:main',
        ],
    },
    install_requires=[
        "cookiecutter",
    ],
)
Run Code Online (Sandbox Code Playgroud)

事情是,如果我这样做python setup.py develop,我可以正常运行命令,但如果我安装它,python setup.py install安装过程正确运行但控制台脚本失败ImportError:

Traceback (most recent call last):
  File "/home/matias/.venvs/fbuild/bin/create", line 8, in <module>
    load_entry_point('fbuildbot==0.1', 'console_scripts', 'create')()
  File "/home/matias/.venvs/fbuild/local/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg/pkg_resources.py", line 318, in load_entry_point
  File "/home/matias/.venvs/fbuild/local/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg/pkg_resources.py", line 2221, in load_entry_point
  File "/home/matias/.venvs/fbuild/local/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg/pkg_resources.py", line 1954, in load
ImportError: No module named create
Run Code Online (Sandbox Code Playgroud)

显然,它无法在pythonpath上正确设置包.我以为是因为我的剧本几乎没有达到顶级水平.所以我尝试在包中添加包装,将所有重要部分移动到内部模块并相应地更改setup.py:

# -*- …
Run Code Online (Sandbox Code Playgroud)

python setuptools entry-point

12
推荐指数
1
解决办法
6056
查看次数

找不到VB.Net'Sub Main'

好的,周一我有一个A级计算考试,我一直在研究预发布的骨架代码.

今天早上,当我尝试时,我得到一个错误说'Sub Main' was not found.这里显然是一个Sub Main()在我将在下面粘贴代码.

在尝试sub main()第二个错误之前,我尝试添加另一个Sub Main() has multiple definitions.

我真的需要对它进行排序,所以任何帮助都将非常感激.

这是Sub Main()的代码:

 Sub Main()
    Dim Choice As Char
    Dim Deck(52) As TCard
    Dim RecentScores(NoOfRecentScores) As TRecentScore
    Randomize()
    Do
        DisplayMenu()
        Choice = GetMenuChoice()
        Select Case Choice
            Case "1"
                LoadDeck(Deck)
                ShuffleDeck(Deck)
                PlayGame(Deck, RecentScores)
            Case "2"
                LoadDeck(Deck)
                PlayGame(Deck, RecentScores)
            Case "3"
                DisplayRecentScores(RecentScores)
            Case "4"
                ResetRecentScores(RecentScores)
        End Select
    Loop Until Choice = "q"
End Sub
Run Code Online (Sandbox Code Playgroud)

如果有帮助,这里是完整的代码:

 'Skeleton Program code for the AQA …
Run Code Online (Sandbox Code Playgroud)

.net vb.net console-application entry-point

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

在Windows中以编程方式调用"main"函数

我有第三方控制台应用程序.我需要从我的应用程序运行它,但我不能将它作为一个单独的进程运行(因为我需要使用它的依赖项:手动填充导入表,设置挂钩等).所以我可能应该main手动调用此可执行文件的功能.这是我试图这样做的方式:

  1. 使用加载此EXE auto hMod = LoadLibrary("console_app.exe")
  2. 手动填写此exe的导入表
  3. 获取此EXE的入口点并调用它

我坚持到最后一步.

以下是我试图调用入口点的方法:

void runMain(HINSTANCE hInst)
{
    typedef BOOL(WINAPI *PfnMain)(int, char*[]);

    auto imageNtHeaders = ImageNtHeader(hInst);
    auto pfnMain = (PfnMain)(DWORD_PTR)(imageNtHeaders->OptionalHeader.AddressOfEntryPoint + (DWORD_PTR)hInst);

    char* args[] = { R"(<console_app_path>)", R"(arg1)", R"(arg2)" };
    pfnMain(3, args);
}
Run Code Online (Sandbox Code Playgroud)

有用.但它就好像没有争论一样.

我哪里错了?如何我的进程中使用参数运行可执行文件?谢谢.

更新:

我已经调查过我的特定第三方exe如何获取cmd参数并发现:

  1. 它根本不导入GetCommandLine,也不调用它
  2. 通过和之后可以通过call _initterm电话argcargv参数进行调查(见下图) cs:argccs:argv在此输入图像描述 在此输入图像描述
  3. 我传递给我的主控制台应用程序的CMD参数也会转移到子EXE.

您能解释一下,_initterm实际存在的CMD参数究竟存在了什么?

c++ program-entry-point systems-programming portable-executable entry-point

12
推荐指数
1
解决办法
1060
查看次数

在conda环境中安装库时如何修复找不到的入口点

我正在通过在其中创建多个环境来开发anaconda。我已经建立了任何环境,camelot所以现在我想在此环境中安装在其他库中。因此,例如,我在这种环境(camelot)中安装了熊猫,我正在写:

conda install pandas 
Run Code Online (Sandbox Code Playgroud)

要么

conda install -c conda-forge camelot-py
Run Code Online (Sandbox Code Playgroud)

然后给我错误:

python.exe-Entry Point Not Found
   The procedure entry point OPENSSL_sk_new_reserve could not be 
   located in the dynamic link library.
   C:\Users\abc\Anaconda3\Library\bin\libssl11_-x64.dll
Run Code Online (Sandbox Code Playgroud)

首先,我认为这可能是由于环境变量引起的错误,我为pyhton设置了环境变量,但无法解决

environment-variables entry-point anaconda conda

11
推荐指数
4
解决办法
7723
查看次数

C++中Main主要参数的限定

C++标准要求所有符合要求的实现支持以下两个签名main:

  • int main();
  • int main(int, char*[]);

如果是后一个签名,那么(顶层)const-ness的添加会破坏任何语言规则吗?

例如:

int main(const int argc, char** const argv);

根据我的理解,顶级const资格不会影响函数的签名哈希,因此就规范而言它应该是合法的.

还有,有没有人遇到过拒绝这种修改的实现?

c++ const signature entry-point

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

Spring Security可以支持多个入口点吗?

我的意思是需要不同:

  • 登录URL
  • 登出网址
  • 会话时间网址
  • 认证提供者
  • 错误页面
  • CSS

针对不同的切入点.

这可能吗?

spring-security entry-point

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

在Python中的load_entry_point期间找不到模块

我正在尝试在我的一个python模块中为main方法创建一个入口点,并且似乎在导入该函数所在的模块时遇到问题.

我的setup.py看起来像这样:

...
setup(name="awesome-tool",
      ...,
      entry_points={
          'console_scripts' : [
              'awesome-tool = awesome_tool.awesome_tool:main'
          ]
      }
)
Run Code Online (Sandbox Code Playgroud)

该项目的组织方式如下:

awesome_tool
    |__ awesome_tool.py
    |__ __init__.py
Run Code Online (Sandbox Code Playgroud)

awesome_tool.py包含一个名为main()的函数,我想在一个名为的可执行文件中使用它awesome-tool.执行setup.py时,一切似乎都顺利.我可以启动python提示并执行

> import awesome_tool.awesome_tool
> # (all good here)
Run Code Online (Sandbox Code Playgroud)

但是当我尝试从命令行调用时awesome-tool,会发生以下情况:

Traceback (most recent call last):
  File ".../virtualenvs/awesome-tool/bin/awesome-tool", line 9, in <module>
    load_entry_point('awesome-tool==1.1.0', 'console_scripts', 'awesome-tool')()
  File "build/bdist.macosx-10.9-intel/egg/pkg_resources.py", line 378, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "build/bdist.macosx-10.9-intel/egg/pkg_resources.py", line 2566, in load_entry_point
    return ep.load()
  File "build/bdist.macosx-10.9-intel/egg/pkg_resources.py", line 2260, in load
    entry = __import__(self.module_name, globals(),globals(), ['__name__'])
ImportError: …
Run Code Online (Sandbox Code Playgroud)

python setuptools entry-point setup.py

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

C# 只有一个编译单元可以有顶级语句

我刚刚开始学习 C#,我创建了 C# 控制台应用程序。为了理解这些概念,我观看了如何为 C# 设置与代码的视频

dotnet new console当我在 VS code 终端中运行命令时,它会创建一个包含Program.cs文件的新项目。

在视频中,该Program.cs文件看起来像这样

// Program.cs
using System;
namespace HelloWorld
{
  class Program
  {
    static string Main(string[] args)
    {
      Console.WriteLine("Hello, World!");
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

Program.cs在我的 IDE 中看起来像,

// Program.cs
// See https://aka.ms/new-console-template for more information
Console.WriteLine("Hello, World!");
Run Code Online (Sandbox Code Playgroud)

当我使用终端运行代码时,dotnet run它在我的计算机上完美运行。

当我创建一个新的 cs 文件时,它包含

// hello.cs
Console.WriteLine("hello world");
Run Code Online (Sandbox Code Playgroud)

运行后它说 Only one compilation unit can have top-level statements.

当我使用类方法和命名空间时

// hello.cs
namespace helloworld
{
    class …
Run Code Online (Sandbox Code Playgroud)

.net c# entry-point visual-studio-code toplevel-statement

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

如何将spring-boot作为客户端应用程序运行?

我在一个应用程序中有2个主要入口点.

一个main启动服务器,映射控制器并启动一些工作线程.这些工作人员从云队列接收消息.

如果负载增加,我希望能够增加额外的工作来完成我的工作.所以我在我的应用程序中有第二个主要入口点,我希望能够在不启动 spring-boot(作为客户端应用程序)的默认服务器的情况下启动,以避免端口冲突(显然会导致失败).

我该如何实现这一目标?

java client-applications entry-point spring-boot

9
推荐指数
1
解决办法
8721
查看次数

standard_init_linux.go:211: exec 用户进程导致“没有这样的文件或目录”?

文件

FROM python:3.7.4-alpine

ENV PYTHONUNBUFFERED 1
ENV PYTHONDONTWRITEBYTECODE 1
ENV LANG C.UTF-8
MAINTAINER "mail@gmail.com"


RUN apk update && apk add postgresql-dev gcc musl-dev
RUN apk --update add build-base jpeg-dev zlib-dev
RUN pip install --upgrade setuptools pip

RUN mkdir /code
WORKDIR /code

COPY requirements.txt /code/
RUN pip install -r requirements.txt
COPY . /code/

#CMD ["gunicorn", "--log-level=DEBUG", "--timeout 90", "--bind", "0.0.0.0:8000", "express_proj.wsgi:application"]
ENTRYPOINT ["./docker-entrypoint.sh"]

Run Code Online (Sandbox Code Playgroud)

docker-entrypoint.sh

#!/bin/bash

# Prepare log files and start outputting logs to stdout
touch /code/gunicorn.log
touch /code/access.log
tail -n …
Run Code Online (Sandbox Code Playgroud)

python django entry-point docker dockerfile

9
推荐指数
1
解决办法
5682
查看次数